TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS生成的HEX文件与BootLoader数据流的对应关系

我在CCS中生成了Intel-Hex数据格式,打开之后发现与《TMS320F28x Boot ROM Reference Guide (Rev. A)》这本里面所述的Bootloader数据流不相符,并未找到类似0x08AA或者0x10AA之类的关键字,请教一下这是怎么对应的

Green Deng:

你好,请问你是用什么生成的hex文件?

user5197967:

回复 Green Deng:

您好,我使用的是CCS里面的生成,也使用过HEX2000生成

user5197967:

回复 Green Deng:

您好,我使用的是CCS里面的生成,也使用过HEX2000生成
可以尽快回复一下吗?还有我昨天的问题,我在BOOT和APP程序中都需要使用到SCI的功能,然后BOOT是放在FLASHA中的,那么,APP中的程序是不是无法调用FLASHA中的SCI的程序

user5197967:

回复 Green Deng:

您好,我使用的是CCS里面的生成,也使用过HEX2000生成
可以尽快回复一下吗?还有我昨天的问题,我在BOOT和APP程序中都需要使用到SCI的功能,然后BOOT是放在FLASHA中的,那么,APP中的程序是不是无法调用FLASHA中的SCI的程序

Susan Yang:

回复 user5197967:

关于hex的问题,0x08AA等指的是引导的数据格式,您可以看一下说明

 

The first 16-bit word in the data stream is known as the key value. The key value is used to tell the bootloader the width of the incoming stream: 8 or 16 bits. Note that not all bootloaders will accept both 8 and 16-bit streams. Please refer to the detailed information on each loader for the valid data stream width. For an 8-bit data stream, the key value is 0x08AA and for a 16-bit stream it is 0x10AA. If a bootloader receives an invalid key value, then the load is aborted. In this case, the entry point for the flash memory (0x3F 7FF6) will be used.

Bootloadr之TXT数据流解析–By Zhang 2016-11-1.pdf

user5197967:

回复 Susan Yang:

我使用CCS生成的intel_hex,里面的内容如下,并没有看到这方面的键值
:020000040032C8
:200000002200801F2AC401F4FFA9000606F00506FCE00807E4FFECFF1A0700690601C3FF81
:0100200006D9
:020000040033C7
:20000000221F4301011A6906221F4221011A6906221F4201011A6906221F4121011A690668

Susan Yang:

回复 user5197967:

关于intel hex的格式说明,请参考 12.15.2 Intel MCS-86 Object Format (–intel Option)

user5197967:

回复 Susan Yang:

我不解得是,这个和Bootloader数据流是区别与联系,请您解答一下。
还有就是如果我自己开发二次Bootloader,然后自定义协议传输Hex文件的话,也有类似0x8aa的键值吗

Susan Yang:

回复 user5197967:

我认为是这样的: intel-hex 和C28x hex utility (hex2000.exe)的hex格式也是不同的,所以出现了关键值0x08AA等的偏差

关于二次Bootloader,您可以看一下我之前收藏的帖子:

e2e.ti.com/…/347071

以及

github.com/…/28335CAN_Update_Flash

另外为何要自定义协议传输Hex文件?

user5197967:

回复 Susan Yang:

我就是在C28x hex utility(CCS里面)选择生成的intel-hex,HEX文件如果只是单纯传输HEX文件,难道不会由于信号干扰等,造成错码,误码吗?我以前在STM32做IAP的时候,是会将BIN文件分割然后自定义协议传输

赞(0)
未经允许不得转载:TI中文支持网 » CCS生成的HEX文件与BootLoader数据流的对应关系
分享到: 更多 (0)