Hallo、
我要将系统从 COFF 迁移到 EABI。
最后一个问题是数据结构、它必须放置在第二个闪存组的末尾。
链接器命令文件(其相关部分):
MEMORY {
FLASH_1 : origin = 0x080002, length = 0x040000 - 2 // no discontinued space for 1MB Flash, no prefetch gap with last 16 words (see Table 6, SPRZ422I)
FLASH_2 : origin = 0x0C0000, length = 0x040000
...
...
}
SECTIONS {
...
...
.buildinfo : > FLASH_2(HIGH)
}
EABI 的结果(映射文件)、不可接受的内容、因为闪存的.buildInfo 之后的一些结束字节保持未使用:
.buildinfo
* 0 000fff80 00000078
000fff80 00000078 buildInfo.obj (.buildinfo)
COFF 的结果(映射文件)、我希望获得的结果以及已经对我有效的结果:
.buildinfo
* 0 000fff88 00000078
000fff88 00000078 buildInfo.obj (.buildinfo)
结构的大小保持不变(0x78)、但位置不同。 我希望在同一地址(0x000fff88)看到我的结构。
如何在0x0x000fff88处获取结构?
直接放置".buildinfo : 0x000fff88" 会导致链接器错误。 为什么?