TI中文支持网
TI专业的中文技术问题咨询交流网站

6678使用sysbios时系统堆栈溢出

在使用sysbios运行图像处理算法程序时,函数内部建立了大量高维图像局部变量,系统堆栈放在了L2SRAM,发现堆栈不够用,可以把堆栈放在DDR里吗?如果可以怎么修改DDR等初始化程序?

Nancy Wang:

可以的,参考7.5.1 System Stack 修改,将.stack 重新指定到DDR。
www.ti.com/…/spruex3v.pdf

user4192203:

回复 Nancy Wang:

如果直接在cfg里使用下面程序
Program.stack = 0x40000;
Program.sectMap[".stack"] = "DDR3_1G";
使用JTAG在线调试不能连接目标板,出现PSRC FAILED错误。
核0的程序为:
main()
{……初始化局部变量,初始化时钟,UART,SRIO等…//初始化DDR3DDR3_Init();//创建核0与核N任务if(DNUM==0){….}
else{….}

BIOS_START();
}
按照我的理解出现这种错误是由于在进入main之前没有进行DDR3初始化操作。不知道理解的对不对

Nancy Wang:

回复 user4192203:

通过GEL文件先初始化DDR看一下,但不应该连不上目标板。

user4192203:

回复 Nancy Wang:

6678所有核使用一个工程,使用dnum进行区分,在核0的main程序中把核0的程序直接拷贝到了其他核的本地L2里。
有没有例子使用gel文件初始化DDR?
如果希望固化时怎么初始化ddr?

user4192203:

回复 Nancy Wang:

helloworld_evmc6678l在哪里可以找到该完整工程?

Nancy Wang:

回复 user4192203:

MCSDK中的一个例程。

helloworld_evmc6678l.7z

赞(0)
未经允许不得转载:TI中文支持网 » 6678使用sysbios时系统堆栈溢出
分享到: 更多 (0)