Other Parts Discussed in Thread:SYSBIOS
RT,使用仿真调试的方法,用gel文件初始化DDR,在.CFG文件通过sectmap修改.堆栈的位置,loadProgram之后进入$exit$,,这是少了什么初始化步骤?
// Setup Pll2 DDR3 PLL @ 667 MHz,zhe
Init_Pll2(PLLM_DDR, PLLD_DDR);
ddr3_setup_auto_lvl_1333(0);
Nancy Wang:
请问具体做了哪些改动?
参考以下配置代码看一下:
** Create a Heap.
*/
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var heapMemParams = new HeapMem.Params();
heapMemParams.size = 0x300000;
heapMemParams.sectionName = "systemHeap";
Program.global.heap0 = HeapMem.create(heapMemParams);/* This is the default memory heap. */
Memory.defaultHeapInstance=Program.global.heap0;
Program.sectMap["systemHeap"] = "DDR3";
,
Shine:
请问加载SDK里的例程会出现这个问题吗?
,
user4192203:
在各类文件onPreFileLoad里加入DDR初始化函数,systemHeap放在DDR里,loadProgram之后,任务可以运行,并且任务中高维大容量数据分配在了systemHeap里。
但是当.stack的位置由L2修改为DDR时,bios_start();之前程序正常运行,调用bios_start();之后,进入$$exit()。
需要修改DDR相关的MAR和MAPX寄存器吗?
,
Nancy Wang:
cmd文件中DDR分配的空间不够吗?改大一些试试看。