DSP 程序远程升级 —— Bootloader设计指南(七)

技术交流 & 最新设计指南获取方法

步骤1) 扫描下方二维码,进入微信公众号

DSP 程序远程升级 —— Bootloader设计指南(七)

步骤2) 获取最新指南,在公众号后台回复以下关键字:【bootloader】

步骤3) 有疑问,在公众号后台回复以下关键字:【交流群】


目录

1
初识Bootloader

1.1 一次Bootloader

1.2 二次Bootloader

1.3 DSP上电引导过程

2
关于c_int00

2.1 c_int00完成的工作

2.2 系统初始化

2.3 全局变量初始化

2.4 全局对象构造

2.5 main函数与exit函数的调用

3
CMD文件与DSP存储空间

3.1 MEMORY和SECTIONS指令

3.2 程序与数据“段”

4
Bootloader数据流

4.1 数据流结构

4.2 16-bit数据流

4.3 8-bit数据流

5
FLASH擦写操作 —— FLASH
API的使用

5.1 FLASH操作的重要特点

5.2 FLASH API使用步骤

5.3 FLASH API常用函数使用举例

6
Bootloader设计过程中的9大关键点

6.1 Bootloader程序在升级过程中不被擦除的实现方法

6.2 上电后先进入Bootloader再跳转至main()函数的实现方法

6.3 Bootloader程序作为CCS应用程序工程一部分的实现方法

6.4 Bootloader与上位机形成交互式通信

6.5 Bootloader程序能够对接收数据校验的实现方法

6.6 在数据出错等情况下能够自动重启的实现方法

7
CCS输出文件格式 ——
ASCII-Hex、Intel-Hex与Binary-Hex文件

7.1 CCS配置生成Hex文件的方法

7.2 ASCII-Hex

7.3 Intel-Hex

7.4 Binary-Hex



7 CCS输出文件格式 —— ASCII-Hex、Intel-Hex与Binary-Hex文件

“DSP使用时到底有几种不同的输出文件”

当我们使用远程烧写或在线升级程序时,要用到Hex文件,但是Hex文件种类繁多,光CCS就提供了七八种,这里对常用的Hex文件作以介绍,以供不同的应用做选择。

7.1 CCS配置生成Hex文件的方法

使用CCS可以输出不同类型的hex文件,但默认的配置情况下,编译生成的代码都是.out格式的,如果要生成.hex格式,具体配置方法以CCS8.0为例,步骤如下:

1)
右键工程,选择Properties

2)
选择下图中的选项卡,然后勾选“Enable C2000 Hex Utility”

DSP 程序远程升级 —— Bootloader设计指南(七)

3)
然后选择“Output Format Options”选项卡,在Output
format选项中选择所需类型,具体类型的结构与内容将在后面介绍。

DSP 程序远程升级 —— Bootloader设计指南(七)

7.2 ASCII-Hex

ASCII-Hex输出格式文件后缀为.hex,文件结构如下图所示:
DSP 程序远程升级 —— Bootloader设计指南(七)

(图源:TMS320C28x Assembly Language Tools v18.1.0.LTS User’s Guide)

文件以ASCII字符STX(控制字,0x02)开始,以字符ETX(控制字,0x03)结尾,地址Address部分应用在Boot Table中时通常是没有的。

示例文件:

DSP 程序远程升级 —— Bootloader设计指南(七)

7.3 Intel-Hex

Intel-Hex输出格式文件后缀也为.hex,文件内数据为16进制数据。

以字符“:”开始;

第1字节(如0x20)为本行数据长度;

第2、3字节为本行数据起始地址;

第4字节为记录类型,CCS里用到的记录类型有:

00 – 数据

01 – 文件结束标志

04 – 扩展地址开始

第5字节~倒数第2字节为数据内容;

最后1字节为校验码。

结构如下图所示。

DSP 程序远程升级 —— Bootloader设计指南(七)

(图源:TMS320C28x Assembly Language Tools v18.1.0.LTS User’s Guide)

7.4 Binary-Hex

Binary-Hex为二进制文件,输出文件后缀同样为.hex,内部仅含所有数据内容,无起始结束标志,无校验。其数据内容与ASCII-Hex文件中的数据部分一致。

二进制文件不能通过文本编辑软件直接查看,想要查看二进制文件,可以使用软件二进制文件查看器:Binary Viewer。

Binary-Hex文件作为上位机的读取文件时,可以直接被读取数据,无需转换。而对于ASCII-Hex文件和Intel-Hex文件,使用上位机读取时,读入内容为ASCII形式,包括冒号和空格等信息,而这些信息是要被剔除的。