在TI DSP开发板中烧写Flash程序 下载本文

内容发布更新时间 : 2024/5/8 20:27:07星期一 下面是文章的全部内容请认真阅读。

实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。

实现Bootloader自引导功能,除了需要生成可执行文件(.out),还需要进行如下步骤:

1、合理配置工程文件(.pjt):需要添加一个boot.asm文件(做搬移时一些初始化和跳转工作),另外工程中.cmd文件也需要为bootloader保留空间。

2、将添加了boot.asm和修改cmd后重新生成的.out文件转化为.hex文件,这时需要一个转换.cmd文件(这个.cmd文件与工程文件中.cmd完全不同,前者是为了指明flash的属性(大小,数据宽度,起始地址和产生文件名)以实现转换.out文件为flash兼容的.hex文件,不能混淆)。

3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。

介绍下各烧录中用到的文件(Flashburn、FBTC.out、hex6x.exe,.cdd和.cmd文件)作用:

1、FBTC.out文件:负责对flash的操作,比如flash的擦除、读、写等。这里主要看个人板子上flash的型号,因为不同型号的flash,它们的操作命令不一样。这样你就必须对FBTC工程进行修改,然后重新编译生成.out文件。如DM642开发板使用的FBTC文件在安装ccs的根目录下(boards\\evmdm642\\flashburn\\FBTC642)。

2、hex6x.exe:将用户工程生成的.out文件转换为二进制文件的工具,这样Flashburn就可以将.out文件以二进制方式烧进flash中。

3、Flashburn:TI的第三方软件公司 Software Design Sloutions 为TI的DSP用户编写的Flash烧写软件,给软件以CCS为基础,通过运行仿真程序FBTC,将用户程序写入Flash中。

4、.cdd文件:保存Flashburn的设置的。

5、.cmd文件:指明flash属性(大小,数据宽度,起始地址和产生文件名),按照flash要求实现将.out文件到二进制文件的转换。

具体步骤:

1。用户程序中添加boot.asm文件,修改.cmd文件中的MEMORY和SECTION部分(DSP/BIOS环境中直接通过配置CDB或者TCF文件中的System->MEM->ISRAM即可;非DSP/BIOS在cmd文件中添加一个名为BOOT的section,位置为0x000,长度为0x400),在连接仿真器环境下编译生成可执行的.out格式的COFF文件。 2。使用HEx6.exe工具,将工程文件生成的.out文件转换成为HEX的ascii格式的二进制文件。

a.编写一个.cmd文件用于设置hex6x.exe的参数 如果例程中存在,则可用记事本打开如下: SeedH264loopback.out -a

-memwidth 8 -boot

-bootorg 0x90000400

-bootsection .boot_load 0x90000000

ROMS {

FLASH: org = 0x90000000, len = 0x400000, romwidth = 8, files = {SeedH264Loopback.hex} }

b.生成二进制文件: 两种方法:

i)将.cmd文件和.out文件放在同一目录下,双击convert.bat。具体操作是将三个文件复制到一起分别是:hex6x.exe和.cmd以及.bat在编辑修改其中的内容(改文件名),最后运行批处理文件即可;

ii)通过windows命令窗口键入命令进行转换。将.out文件,cmd文件,和hex6x.exe文件放在同一个文件夹内。如C:\\DSP_BURN。在dos窗口中键入cd C:\\DSP_BURN将路径改为“C:DSP_BURN>”,再键入“hex6x.exe XX.cmd”结果生成“XX.hex”文件