背景简述
C6701的固化程序存储在FLASH中,由FPGA控制C6701程序的加载,程序加载成功后会周期性的向上位机回传状态信息。
异常现象
- 某一版本的DSP的程序在线调试能正常运行;程序烧入FLASH后,不能正常启动
- 前一版本的DSP程序固化后能正常启动
解决问题
- 考虑到C6701的开发环境比较陈旧,最初怀疑是软件BUG,一番折腾后,问题依旧
- 对之前版本与当前版本的代码进行比对,未发现代码上的更改有什么问题
- 对生成的map文件进行比对,发现当前版本的代码占用内存较大
- 更改代码优化选项,减小程序的内存占用量,软件固化后正常运行
- 恢复原有的代码优化选项,删除冗余代码,发现同样能减小程序的内存占用量,软件固化后正常运行