Part Number:TMS320C6678
var heapMemParams = new HeapMem.Params();
heapMemParams.size = 0x500000;
heapMemParams.sectionName = "systemHeap";
Program.global.heap0 = HeapMem.create(heapMemParams);
Program.sectMap[“systemHeap”] = "DDR_1G";//L2SRAM
Memory.defaultHeapInstance = Program.global.heap0;
cfg文件按照上面的方式分配堆,在main函数中看到Task_create返回的地址是在DDR_1G中,分配在L2SRAM时,Task_create返回的地址是在L2SRAM里。
需要将Task的堆分配在ddr3,系统堆分配在L2SRAM中,这种方式怎么实现?
Shine:
heap是一个memory manager,task没有专门的heap,task有专门的stack可以用来保存local variables, return addresses和参数等,如果没有定义stack,从系统堆里分配memory。