This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28069: Bin文件包含多个0的说明

Part Number: TMS320F28069

很有网友反应Bin文件存在许多0数据,其实这跟FLASH分配有非常大的关系。

我们在cmd文件的SECTIONS段分配FLASH区段时,尽量让要使用的FLASH区域地址连续,否则生成的Bin文件会存在空洞(Hole):用0数据来填充2段被用到的FLASH地址中间那段未被使用的地址空间。

另外,比如我们程序中只用到FLASHA,但是没有全部使用完FLASHA空间,那在程序尾部和

CSM_RSVD(0x3F7F80)之间也会存在空洞(Hole).
FLASHA区段末尾存在空洞,下图中FLASHA的低地址有数据,高地址没有数据
Hex文件中,第一行表面后续都是线性偏移地址,基地址为 0x003F0000
Hex文件低661行开始新的基地址,因此第660行数据所在地址为:0x003F0000 + 0x69FE = 0x3F69FE
这个地址在FLASHA(0x3F4000~0x3F7F80)中,而且FLASHA的高地址没有数据,存在空洞
Bin文件中
选中的数据0xFFFF,0xA640与Hex文件中660行开始的数据是匹配的
可以看到Bin后续都是0填充。
注意:上述Hex文件是采用下述命令生成的
hex2000 -romwidth 16 -memwidth 16 -i  -o abc.hex abc.out