微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > ARM汇编提示cannot find entry symbol _start

ARM汇编提示cannot find entry symbol _start

时间:10-02 整理:3721RD 点击:
     下面这段汇编代码,相信很多ARM学者都跑过,也相信很多大牛都遇到过这个问题,arm-linux-ld的时候提示arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00000000,下面是汇编代码,很简单:
.text
.global  _start
_start:
                LDR       R0, =0x56000010   
                MOV       R1, #0x00000400
                STR       R1, [R0]
                LDR       R0, =0x56000014
                MOV       R1, #0x20  
                STR       R1, [R0]   
MAIN_LOOP:
                B         MAIN_LOOP     

      makefike如下:
led_on.bin: led_on.S
        arm-linux-gcc -g -c -o  led_on.o led_on.S
        arm-linux-ld -Ttext  0x0000000 -g  led_on.o -o led_on_elf
        arm-linux-objcopy -O binary -S led_on_elf led_on.bin
clean:
        rm -f led_on.bin  led_on_elf  *.o

     make的时候编译提示如下:
arm-linux-gcc -g -c -o  led_on.o led_on.S
arm-linux-ld -Ttext  0x0000000 -g  led_on.o -o led_on_elf
arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00000000
arm-linux-objcopy -O binary -S led_on_elf led_on.bin

     相信很多人都遇到过,百度了下,原因是没有找到 _start的入口,今天看了下 _start的源码,功力尚浅,无法理解,所以应该不需要构造 _start这个函数就可以解决,应该有其他方法,还请高手赐教,谢谢!

该问题已经解决, makefike没有问题,问题在于window上编辑的.s文件,尽然没有保存,但是每次window上打开的时候又存在,在CRT里面用vi可以发现,.s文件为空,唉,真是小题大作了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top