TI中文支持网
TI专业的中文技术问题搜集分享网站

ELF格式下建立新代码段的内容全为0

您好,

   我在使用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的内容了,汇编代码没有问题,但是不知道你的为什么就可以

赞(0)
未经允许不得转载:TI中文支持网 » ELF格式下建立新代码段的内容全为0
分享到: 更多 (0)