DSP运行一半就停止了?有什么原因?

DSP运行一半就停止了?有什么原因?,第1张

十有九是遇到无效地址了,你可以看一下停止的地方是不是NMI中断,或是其他什么地方。

另外:

1.设置断点,看看程序是否有进入主程序,最好能看到停止前执行到那部分程序;

2.把管脚重新焊一遍,保证没有虚焊;

3.检查复位管脚的信号;

4.检查晶振信号;

5.自己想办法测试一下仿真器是否正常工作。

DSP系统的引导程序(BOOT)是系统加电或复位时,DSP将一段存储在外部的非易失性存储器的程序代码通过DMA方式拷贝到内部的高速内存中运行。这样既能扩展DSP有限的存储空间,又能充分发挥DSP内部资源的效能。用户的代码也可以通过掩膜方式写入到DSP内部ROM中,但这样受容量和价格的限制,且不便于扩展和升级。 DSP的引导过程如下: 1) DSP复位后,通过DMA方式将外部CE1空间的数据读入到内部程序空间地址0处,读入数据的多少因芯片而异(TMS320C6712一次只拷贝1KB)。 2) DSP推出复位状态,开始执行内部程序空间地址0处的程序,这段程序先将外部主程序数据读入到DSP内部程序空间相应地址,然后跳转到主程序运行。 第一步是由芯片自动完成,关键是第二步:用户需要编写相应的汇编程序,实现二次引导,即用户主程序的装载

dsp复位后从InitBoot处开始执行程序。根据资料显示,当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash启动方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12123388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存