TI中文支持网
TI专业的中文技术问题搜集分享网站

6678板上跑sysbios,死在bios_start()函数里

背景:自己画的两个6678芯片的板子,不带sysbios的裸跑可以正常工作和bootload(自己写的bootload程序)。

问题1:新建了一个sysbios工程,cfg文件的部分段分配如下:

Program.sectMap[".bss"] = "DDR3";
Program.sectMap[".const"] = "DDR3";
Program.sectMap[".text"] = "DDR3";

ccs debug时,发现都不能运行到正常指向main.c()。

问题2:将上述段分配为:

Program.sectMap[".bss"] = "L2SRAM";
Program.sectMap[".const"] = "L2SRAM";
Program.sectMap[".text"] = "L2SRAM";

后,debug能够正常指向main.c()  (基本确定之前的问题是因为DDR3在段分配前没有正常初始化)。但再往下运行时,死在了bios_start()函数里,有时会显示:

,IRP=0x83371aa2

,SSR=0x0

,AMR=0x0

,RILC=0x0

,ILC=0x0

,Exception at 0x0

,EFR=0x2 NRP=0x0

,Internal exception: IERR=0x1

,Instruction fetch exception

,ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x00000000, sp = 0x00000058.

,To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'

,xdc.runtime.Error.raise: terminating execution

经查找资料,基本确认是运行时HEAP段数据溢出的问题。

用mcsdk_2_01_02_06\examples\ndk\helloWorld工程debug也同样会出现上述2个问题。

1、想请问上述问题如何解决?

2、工程中,必须将["systemHeap"]等段分配在 "DDR3"中,请问如何在这些段分配使用前初始化DDR3?

麻烦各位大神了!

Denny%20Yang99373:

http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/116817.aspx

赞(0)
未经允许不得转载:TI中文支持网 » 6678板上跑sysbios,死在bios_start()函数里
分享到: 更多 (0)