This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Flash boot代码成功后运行CSL函数失败,而用仿真器正常



各位好,

我在使用TMS320C6670 DSP,调试SPI Flash Boot,测试代码是很简单的RTSC工程,进入main()后点亮LED。LOG显示Boot时四个核都正确的进入了main(),但是core1~core3却卡在了一个CSL函数,无法继续执行,而core0可以正确执行。这个函数是CSL_chipReadReg (CSL_CHIP_DNUM),用于获取核号,如果使用仿真器则没有这个问题。

代码段在DDR上,bootloader已经做了DDR的初始化,PLL也都配置了。

现在找不到原因,特来请教,多谢指点

  • 连接仿真器将程序dump出来看看跟仿真器load时的代码是否一致,另外你的代码中要注意stack每个核需要使用独立的memory。

  • 你好,Andy

    我按你说的查了一下代码一致性。在Boot时,连仿真器将DDR中的代码save到文件里;和用Emulator下载.out文件后DDR代码段save的文件进行了比对,只有最前面大概200k的内容是完全能对上的,后面就对不上了,但是有差异的地方也不是完全不同,而是隔几个字节能对上,隔几个又对不上了。见附件图

    是否可以认为,代码镜像文件制作的有问题?

  • 还有您提到的各核stack使用独立memory,我代码的配置里四个核的stack是分在各自的L2SRAM上的,用的是相对地址,这个是否有问题?