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

TMS320F28069 Memory 分配问题

用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台机器都是这种情况。

mangui zhang:你的意思是同一个.out在不同批次的芯片中运行情况不一样?不行先别转换hex直接用.out通过仿真器固化到flash中呢?

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28069 Memory 分配问题
分享到: 更多 (0)