您好,
我在使用CCS5.1的ELF格式下编写汇编语言遇到了一个问题,首先我编写了一段汇编代码,然后为此段代码分配了一个新段.bootload段,并在命令文件.cmd中将此.bootload段放到内存中,如下所示:
汇编文件:
.sect ".bootload"
.global boot
boot:
{下面是汇编代码}
命令文件:
MEMORY{
BOOT : o=0x00800000,l=0x400
{其它空间}
}
SECTION{
.bootload >> BOOT
{其它段}
}
但是当我编译后在.map文件中看到BOOT段没有被用到,内容全是0,那我的汇编代码去哪了?
当把输出格式改成COFF后,就可以看到map文件中的BOOT段用了长度为0x60,内容不为0,这又是为啥啊?
我编写的上述汇编代码在ELF格式下有什么不对的地方啊?是不是需要加其他的指令才能在ELF格式下被识别?
谢谢各位的指教!
Phyllis Xu:
您好!
附件中是我按照你的思路编写的一个“hello world”project,同时嵌入汇编代码,ELF和COFF格式下都是可以看到BOOT段的内容的。我觉得你可以check一下你的汇编程序,最终原因可能不在于输出格式是什么。
谢谢!
xiaoyan Bian:
回复 Phyllis Xu:
您好,
我的问题解决了,在.cmd文件中加一句–export=boot后就可以看到BOOT的内容了,汇编代码没有问题,但是不知道你的为什么就可以
TI中文支持网