我在ubuntu下使用hex55命令时出现以下提示。
./hex55 ./mixer.out -boot -v5505 -serial8 -b -o ./mixer.bin
Translating to Binary format...
"./mixer.out" ==> .vau (BOOT LOAD)
"./mixer.out" ==> .util (BOOT LOAD)
error: Starting address of section ./mixer.out(.util) is not aligned to an even
byte boundary as required for a boot loader of the requested type
"./mixer.out" ==> .text (BOOT LOAD)
"./mixer.out" ==> .cinit (BOOT LOAD)
"./mixer.out" ==> .switch (BOOT LOAD)
"./mixer.out" ==> .const (BOOT LOAD)
"./mixer.out" ==> vectors (BOOT LOAD)
.map文件中看到util的地址确实是奇数
.util 0 000311e1 [ 000188f0+] 00000130 *
000311e1 [ 000188f0+] 00000099 * util_c.a55L : ecoXdaisXlat.o55L (.text)
0003127a [ 0001893d ] 00000055 * util_a.a55L : utillin2db.o55L (.text)
000312cf [ 00018967+] 00000041 * : utildb2lin.o55L (.text)
00031310 [ 00018988 ] 00000001 * --HOLE-- [fill = 20]
然后我将cmd文件中util注释掉就可以正常生成bin文件了
/*
.util > EXTMEM
{
/home/ly/ti/volib_C55_CPU3_2_1_0_1/packages/ti/mas/util/lib/util_c.a55L (.text)
/home/ly/ti/volib_C55_CPU3_2_1_0_1/packages/ti/mas/util/lib/util_a.a55L (.text)
}
*/
请问这是为什么呢?为什么util加载的地址会是奇数?其他的地址都是偶数起始啊。
附件是.map文件