I am working with the TI Sitara Industrial Communications Engine board (version 2) and I am having trouble getting the heap configured to work with SYSBIOS. Any attempts to allocate memory on the heap using malloc() or new causes my program to lock up. This makes me think the heap is not configured correctly, but I have configured all of the project settings that I can find.
Is there an example project configuration available for this board that has both SYSBIOS configured and the heap enabled?
Here are the relevant settings I currently have in my project:
AM335x.cmd file:
----
SECTIONS
{
.init: { boot*(.text)} > 0x80000000 /* make sure we can boot! */
}
----
.cfg file:
---
var heapMemParams = new HeapMem.Params();
heapMemParams.size = 819200;
heapMemParams.sectionName = "systemHeap";
Program.global.heap0 = HeapMem.create(heapMemParams);
Memory.defaultHeapInstance = Program.global.heap0;
Program.stack = 409600;
Program.heap = 0XC8000;
SysMin.bufSize = 0x400;
BIOS.heapSize = 0xC8000;
BIOS.heapSection = "systemHeap";
var loggerBufParams = new LoggerBuf.Params();
loggerBufParams.numEntries = 32;
var logger0 = LoggerBuf.create(loggerBufParams);
Defaults.common$.logger = logger0;
Main.common$.diags_INFO = Diags.ALWAYS_ON;
System.SupportProxy = SysMin;
BIOS.common$.instanceHeap = Program.global.heap0;
BIOS.heapTrackEnabled = false;
Memory.defaultHeapSize = 819200;
---