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.
用TMS320F28069 设计数字电源方案,在调试时,有一次编译出来的hex烧录文件,通过ModuleSet软件更新以后,模块(LLC芯片)上电后,控制板上的led灯不闪烁。表示程序没有运行。
通过XDS510仿真器连接芯片(仅连接,不烧录新的程序)后,观察flash里面的代码,与hex文件对比了大概几十处,都没有差异,可以认为程序的烧录是OK的。
保持XDS510的连接状态,不烧录新程序,可以用芯片的flash里面的程序来单步仿真,发现程序会跑到0x3ff6c1~0x3ff6c5之间,然后在这一段之间死循环。
找一个能正常启动的芯片,用一样的操作方法单步仿真,发现与上面的差异之处:程序跳转到0x3ff4b1处开始执行时,正常的芯片会在0x3ff4b6处跳转到0x3d7cc0处---get_mode()函数---执行,然后跳转到0x3F7FF6处执行,这里就是begin段,可以正常进入应用程序了。
而问题芯片不会这样,是顺序执行到0x3ff4cb处,然后跳转到0x3ff698处再顺序执行,然后就执行到0x3ff6c1~0x3ff6c5之间的死循环了。
值得注意的是,以上所有的执行代码,都是dsp芯片固化在内部的boot rom程序,尚未与hex文件对应的应用程序有关系,
不清楚这种问题出现的原因是什么。
而且这个问题不是出现一次,是当时烧录的2台机器都是这种情况。