Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
您好!
我的项目中有一个放置在 DDR3中的大堆:
BIOS.heapSize = 262144;
BIOS.heapSection ="heap_section";
Program.sectMap["HEAP_SECTION"]= new Program.SectionSpec ();
Program.sectMap["HEAP_SECTION"].loadSegment ="DDR3";
我发现 SYSBIOS Hwi 将其调度表存储到堆中。 为了避免性能问题、我想要拆分堆、将一小部分放在 L2中、将大部分放在 DDR3中。 我已经创建了一个新堆并将其定义为默认堆。 我假设 SYSBIOS Hwi 将继续使用"BIOS 堆"、代码中的"new ()"将进入此默认堆、但 Hwi 也使用了此默认堆:
VAR 默认值= xdc.useModule('xdc.runtime.Defaults');
VAR HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var heapMemParams =新 HeapMem.Params;
heapMemParams.size = 262144;
heapMemParams.sectionName =".myHeap";
program.global.heap1 = HeapMem.create (heapMemParams);
Defaults.common$.instanceHeap = Program.global.heap1;
Program.sectMap["HEAP_SECTION"]= new Program.SectionSpec ();
Program.sectMap["HEAP_SECTION"].loadSegment ="L2SRAM";
Program.sectMap[".myHeap"]= new Program.SectionSpec ();
Program.sectMap[".myHeap"].loadSegment ="DDR3";
如何将 SYBIOS 分配的内存放入 L2中、将我分配的内存放入 DDR3中?
谢谢
(我使用 的是 SYSBIOS 6.46.00.23、xdctool 3.32.00.06、编译器7.4.16)

