编译汇编裸机程序

文件夹下有两个文件:led_on.S Makefile
led_on.S:

@******************************************************************************
@ File:led_on.S
@ 功能:LED点灯程序,点亮LED1
@******************************************************************************       
            
.text
.global _start
_start:     
            LDR     R0,=0x56000050      @ R0设为GPFCON寄存器。此寄存器
                                        @ 用于选择端口B各引脚的功能:
                                        @ 是输出、是输入、还是其他
            MOV     R1,#0x00000100        
            STR     R1,[R0]             @ 设置GPF4为输出口, 位[8:7]=0b01
            
            LDR     R0,=0x56000054      @ R0设为GPBDAT寄存器。此寄存器
                                        @ 用于读/写端口B各引脚的数据
            MOV     R1,#0x00000000      @ 此值改为0x00000010,
                                        @ 可让LED1熄灭
            STR     R1,[R0]             @ GPF4输出0,LED1点亮
MAIN_LOOP:
            B       MAIN_LOOP

Makefile

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

make即生成了led_on.bin可执行程序,用工具烧录到板子上去运行

猜你喜欢

转载自blog.csdn.net/qq_41903811/article/details/88342925