TMS320F2812 在线 FLASH 编程
一、 引言
TMS320F2812 支持很多种 BOOTLOAD,有 SPI , SCI –A, I2C,FLASH, GPIO 并
口等等,适合用户多种启动,本文主要介绍 FLASH 程序的在线更新。有很多种场合,
DSP 程序需要维护,最普遍的办法是把控制板拆下来,然后用 JTAG 口把程序烧入进去,
这样有很多不方便。如果有种方法,不需要拆板子,我把待升级的程序放在 U 盘,然
后通过操作头或者人机界面实现程序更新,这样对产品的维护带来极大的便利。我可以
通过网络把程序传到客户端,然后客户可以及时的更新程序。
二、 实现思路
在线升级也必须有几个硬件条件:
1、 必须有人机界面;比如串口、U 盘;
2、 必须有外扩的存储器;FLASH or RAM;
本文实现是通过 U 盘来实现在线编程的,基本思路是这样的。我把 CCS 生成
的.OUT 文件先转换成.BIN 文件,然后把需要升级的文件放在 U 盘,通过键盘控制,
来升级我的程序,我首先通过 dsp 把 U 盘上的升级文件拷贝到我外部的存储器,等复
制结束我把要升级代码拷贝到内存里运行,然后用 TI 公司提供的库函数,对内部
FLASH 进行擦除,擦除完毕,再把外部存储器的代码拷贝到 2812 的内部 FLASH,复
制完重新上电,完成了在线升级,整个过程的难点是 boot 的编写。
三、 BIN 文件的生成
参考 TI 公司提供的一篇文档:TMS320F281x Boot ROM Serial Flash
Programming,文档上有幅图片,如下图 1 所示:首先用 CCS 生成 OUT 文件,然后通
图 1 BIN 文件的生成
过 Hex2000.exe 把 out 文件转换成 hex 文件,再通过 FileOshell.exe 文件转换成 BIN
文件。我们先做一个批处理文件。
内容如下: