What is the minimum heap required to run a simple HelloWorld publisher and subscriber on an INTEGRITY systems?

The minimum heap required to run a simple HelloWorld publisher and subscriber on an INTEGRITY system is about 11.3MB.

Problem

You run an example HelloWorld application and create_participant() returns NULL. When you increase the logging verbosity, you see messages such as: 

!create fast buffer pool buffer 

or 

no space on heap for structure

Solution

Increase the size of your heap. In your kernel project directory, under the src directory, open the INTEGRITY linker control file (e.g. mykernel_INTEGRITY.ld), and uncomment the  .heap section. Change the size from 0x10000 to at least 0xad0000 (11.3MB). Then rebuild and reload your kernel. 

For example, change this:

// intex will create a heap section unless the following section is uncommented...
//    .heap    align(16) pad(0x10000)     :

To this:

// intex will create a heap section unless the following section is uncommented...
    .heap    align(16) pad(0xad0000)     :

 

Platform: