ARM汇编提示cannot find entry symbol _start

2019-07-16 08:41发布

     下面这段汇编代码,相信很多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这个函数就可以解决,应该有其他方法,还请高手赐教,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
STC89C55
1楼-- · 2019-07-16 09:14
该问题已经解决, makefike没有问题,问题在于window上编辑的.s文件,尽然没有保存,但是每次window上打开的时候又存在,在CRT里面用vi可以发现,.s文件为空,唉,真是小题大作了!

一周热门 更多>