你用CCS运行程序,通过了。
将Setup CCS中的GEL去掉后再用CCS运行,看是否通过,如果通过了可继续调试FLASH程序。
否则,研究一下GEL文件中哪些初始化工作你的程序没做,加入到你的程序中即可。一般就是几个关键的寄存器的事。
当你运行的程序如果很大,target board RAM经常放不下,经常用到DSP2812, 8K,出现ITRAP0的中断,可以以下方法解决.1.屏蔽部分代码,很简单但是很有用.
2. 增加txt段的空间,从H0 8k扩展到4K,需将其放到两个程序段中
PAGE 0 :
PRAMH0 : origin = 0x3F8002, length = 0x0014FE
L0RAM : origin = 0x008000, length = 0x001000
SECTIONS
.text:{*(.text)} >>PRAMH0|L0RAM
这样就可以将.text文件放在两个定义段中。
十有九是遇到无效地址了,你可以看一下停止的地方是不是NMI中断,或是其他什么地方。另外:
1.设置断点,看看程序是否有进入主程序,最好能看到停止前执行到那部分程序;
2.把管脚重新焊一遍,保证没有虚焊;
3.检查复位管脚的信号;
4.检查晶振信号;
5.自己想办法测试一下仿真器是否正常工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)