Other Parts Discussed in Thread: SYSBIOS
Hello,
I am writing the C674x DSP code for a DM816x. We're using sysbios 6.32.05.54, ipc 1.23.05.40 and CCS 5.1.0.09000.
I am looking for the cause of this error:
[C674X_0] ti.sdo.ipc.heaps.HeapMemMP: line 740: E_memory: Out of memory: handle=0xf80edae0, size=1184
This error happens after a call to "MessageQ_Msg MessageQ_alloc(UInt16 heapId, UInt32 size);" in ipc_1_23_05_40\packages\ti\ipc\MessageQ.h.
I have examined the heaps by stopping the processor using JTAG and loading the ROV view. I click on the HeapMemMP option and I see the data in the attached .bmp file.
How should the all the fields (especially "address", "buf" and "totalSize") be interpreted? The values don't look good to me, somehow:
addr buf totalSize
0xf80ed428 0x87000680 0xfff980
0xf80ed458 0x9f900080 0xfff80
0xf80eda00 0x8700a500 0x10080
0xf80edae0 0x8701a580 0x10080
If I change BIOS.heapSize from 0x2000000 to 0x3000000 in my project .cfg file, the values in the ROV HeapMemMP view do not change.
These are heap-related settings in my .cfg file:
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var heapMemParams = new HeapMem.Params;
heapMemParams.size = 0x4000;
heapMemParams.sectionName = "IRAM";
Program.global.roomProcessHeap = HeapMem.create (heapMemParams);
var HeapMemMP = xdc.useModule('ti.sdo.ipc.heaps.HeapMemMP');
SharedRegion.setEntryMeta(SHAREDREG_1_ENTRYID,
{
base: SHAREDREG_1_MEM,
len: SHAREDREG_1_MEMSIZE,
ownerProcId: SHAREDREG_1_OWNERPROCID,
isValid: true,
name: "shared_region_1",
createHeap: true
});
Thanks,
Annie
