这段时间一直在调试DSP6713的Flash烧写,现在对Flash的烧写也算心中了如。
那天,非常Happy的发现将闪烁LED烧写到Flash成功了,然后,就以为一切都OK了……
那天,成功烧写了一个300KB以上的程序,又认为,这次应该OK了……
那天,写了个Timer中断程序,烧写到Flash,却死机了……
那天,在RAM上运行很流畅的一个算法(算法中调用了CCS的atan函数),在烧写到Flash后算法却死机了……
那天,我开始思考:是什么情况导致RAM中跑得很Happy的程序烧写到Flash就运行得如此的不堪——众多的囧相。
“且行且珍惜”,珍惜这些次发现Bug的机会,因此,我要总结:在RAM中能正常运行,而烧写到Flash后无法正常运行的一些情况讨论。
请检查中断向量表
中断向量表包含了所有中断的入口,在烧写Flash的时候,有两种方式可以保证中断能正常工作。具体可参见TMS320C6713烧写Flash的通用方法的第5小节。

本文针对DSP程序在Flash烧写后运行异常的问题进行分析,包括检查中断向量表、内存错误、避免使用math.h中的函数、程序逻辑检查和除法运算的处理。建议使用查表法替代三角函数,确保程序逻辑无误,并注意除法可能导致的死机问题。
最低0.47元/天 解锁文章
6637

被折叠的 条评论
为什么被折叠?



