新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 详细阐述UCD3xxx 系列数字电源控制器烧写常用的两种十六进制文件格式:X0 和Intel Hex

详细阐述UCD3xxx 系列数字电源控制器烧写常用的两种十六进制文件格式:X0 和Intel Hex

作者:时间:2012-12-05来源:网络收藏

摘 要

后缀为的一种,而 也是一种文件是TI 烧写软件和工具的文件格式,而 文件是第三方烧写器的文件格式。编译器(如TI 集成开发环境CCS)编译C 语言或者汇编语言程序生成二进制机器代码,然后由机器代码生成 这两种文件格式。本文首先介绍这两种文件格式,然后介绍如何在CCS 编译环境中产生这两种文件格式,最后结合 系列数字电源通过实例来进一步了解这两种文件格式。

1 X0 和Hex 文件格式

X0 和Hex 文件是由一行行符合对应文件格式的文本所构成的ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)文本文件。在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如a、b、c、d 这样的52 个字母(包括大写),0、1 等数字,还有一些常用的符号(如*、#、@等)在计算机中存储时也要使用二进制数来表示。ASCII 码就是用来表示这些字母、数字以及符号的,它使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。而X0 和Hex 文件格式就利用ASCII 码来表示二进制信息。

X0 格式的名称是“泰克扩展十六进制文件格式”(Tektronix Extended hexadecimal file format),具体格式参见图1。

15.jpg

图 1:X0 文件格式

X0 文件以百分号“%”为记录标志,表示一行的开始;记录长度指的是每一行除百分号外的字符数(不是字节数),占一个字节;记录类型占一个字符,共两种:6 - 代表数据,8-代表结束;校验是整个一行字符除(注意不是字节)除校验自身和百分号外的校验和,占一个字节;地址共9 个字符,第一个字符是8,指的是地址共占8 个字符,后面8 个字符(4 个字节)是数据所要加载的地址;数据就是程序代码或其它信息。

以计算机常用的“Hello, Word!(加换行符)”为例,如果把它加载到地址0x006B,那么X0 文件如下

表示:

%2A6DE80000006B48656C6C6F2C20576F726C64210A

%09819800000000

Hex 文件格式有很多种,本文主要介绍“英特尔十六进制目标文件格式”( Hexadecimal object file format),具体格式如图2 所示。

14.jpg

图 2:Hex 文件格式

Hex 文件以冒号“:”为记录标志,表示新的一行的开始;记录长度占一个字节,指的是每一行所包含实际数据或信息的字节数;加载偏置占两个字节,是相对地址(加载偏置加上扩展线性地址就是绝对地址);记录类型共有6 中,分别为:0 - 数据记录,1 - 文件记录结束,2 - 扩展段地址记录,3 -起始段地址记录,4 - 扩展线性地址记录,5 - 起始线性地址记录;每一行记录的数据部分都是可变的,最多可以有255 个字节,也可能没有,取决于所记录的类型。最后一个是校验,它是除冒号和校验自身的校验和,具体做法是每个字节累加,然后取计算结果最后一个字节补码(取反加1)作为校验字节。

还是以“Hello, Word! (加换行符)”为例,把它加载到地址0x0000,Hex 文件如下:

:0F00000048656C6C6F2C20576F726C64210A7E

:00000001FF

2 存储结构

13.jpg

图 3: 存储结构

介绍如何生成X0 和Hex 文件以前,需要先了解一下UCD3xxx 系列数字存储结构,如图3 所示。UCD3xxx 三种模式:复位模式、ROM 模式以及Flash 模式。这三种状态对应的存储映射是不一样的。复位模式下,所有内存都映射为ROM;ROM 模式下,程序闪存(Program Flash)被映射在0x10000至0x17FFF,数据闪存(Data Flash)是从0x18800 至0x18FFF,随机存取存储(RAM)放在0x19000 至 0x19FFF;Flash 模式下,数据和随机存取位置不变,程序闪存位置被重新映射到0 至0x7FFF。程序闪存最后4 个字节是保存整个程序闪存的校验和。

UCD3xxx 起机过程是:上电开始进入复位模式;上电完成后进入ROM模式,此时芯片会自动跳转到0xA000 执行。在0xA000 至0xAFFF 这一段地址内,固化了一段ROM 程序,这段程序除了做一些芯片自身的初始化外,它还会计算程序闪存的校验和,然后和程序闪存最后4 个字节保存的校验和对比,如果不一致,此时程序会停下来,等待主机命令。如果对比结果一致,那么芯片就会进入Flash 模式,ROM 程序会执行跳转指令进入程序闪存中运行。

3 如何在CCS 集成开发环境下生成X0 和Hex 文件

1.gif

图 4:CCS 编译器编译选项设置


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭