在进行DSP程序烧写方式中,单板调试常用仿真器进行烧写,但当我们把DSP安装在一个完整封闭的产品中想要进行程序升级时,这时采用仿真器就显得不方便了。
此时,我们就可以采用TI公司提供另一种程序升级方式,通过通讯发送转换过的程序数据,之后DSP接收数据并且DSP中原有程序调用相关库函数把程序数据烧写到DSP中。这里我们主要描述如何使用hex2000把CCS编译得到的out、map文件进行转换得到可以烧写的数据。
首先, 编写build.cmd文件,代码如下, 这个文件包含了转换文件的格式。 "outFileName"为out文件的文件名, "mapFileName"为map文件的文件名,"outputFile.hex"为输出文件;org:程序数据存储空间起始地址,该地址在编写cmd文件时已经确定;len:程序数据长度,可根据生成的map文件计算得出。
outFileName.out
-image
-memwidth 16
-map mapFileName.map
-o outputFile.hex
-m
ROMS
{
TEXT: org = 0x3EC000, len = 0x008000, romwidth = 16, fill = 0xFFFF
}
接着,编写start.bat文件,通过该文件调用hex2000及build.cmd文件。*注意:hex2000.exe、start.bat、build.cmd及out、map文件均须在同一文件目录下,且out、map文件名中不得有“-”,否则会执行不通过。*
hex2000 build.cmd