Part Number:TMS320F28377D
目前在开发和使用28377D的IAP功能,下位机输出文件为HEX格式;但是在解析HEX文件中,发现偏移地址并不是每次都满足能被16整除的情况,如下所示:
偏移地址是0x0004,对应的后4位是0b0100,而不是0b0000,这就给软件的实现带来不便,因为根据FAPI手册上的描述,每次写入数据不能跨越2行数据。因此我们需要结合当前行和上一行数据的内容,通过偏移地址的后4位的值来确定数据存放到缓存区的位置。请问如何配置CMD文件,让HEX文件的内容进行调整,使得每行数据的首地址的后4位都是0b0000,如下所示:
关于flash空间的CMD部分的配置如下:
.cinit : > FLASHAB PAGE = 0, ALIGN(4)
.pinit : > FLASHAB, PAGE = 0, ALIGN(4)
.text : > FLASHAB, PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
/* Initalized sections go in Flash */
.econst : > FLASHAB PAGE = 0, ALIGN(4)
.switch : > FLASHAB PAGE = 0, ALIGN(4)
.reset : > RESET, PAGE = 0, TYPE = DSECT
Green Deng:
你好,请问你是用CCS自带的hex2000生成的吗?还是使用第三方软件生成的?一般自带的hex2000没碰到过这个问题,你可以试一下。位置在类似如下路径中:C:\ti\ccs920\ccs\tools\compiler\ti-cgt-c2000_18.12.3.LTS\bin\HEX2000.exe
,
Haha Wang:
我的是使用CCS自己编译生成的HEX文件的,我跟我同事都出现这种情况
,
Green Deng:
方便说明一下是如何生成hex的?CCS版本是多少?
另外,可以用例程测试一下生成hex文件看是否有同样的问题