③ 烧写函数中使用了flash_burned常量作为判断是否需要对Flash操作的依据,且将其初始化为1。这是为了避免Flash加载之后会执行对Flash的操作。此变量应在烧写Flash时手动修改为0。
在仿真加载方式下,可以在CCS里的watchwindow窗口手动修改flash_burned常量为0,强迫CPU进入对Flash编程的程序段。实验证明,在仿真加载方式下手动修改flash_burned并不影响写入到Flash中的flash_burn-ed的值(仍为1),所以,写入Flash的flash_burned的值仍然是1。在系统Flash加载之后,CPU就会跳过此段代码,实现正确运行。
4 结 论
本Flash加载方案以C6713为例,稍加修改即可适用于TMS320C6000系列的其他DSP器件。经过在研制的伺服测试平台中的应用,证明本方法切实可行且易于实现,避免了目标文件格式的转换,比通常采用的FlashBurn工具使用起来更灵活方便,用户可以通过简单修改Flash烧写函数使之适应自己的硬件情况。对于Flash器件接口与TI的DSP不一致的情况,本方案是一个很好的选择。
本文关键字:FLASH DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术