1 基本格式 led.s
.global _start //全局标号
_start:
内容
//死循环
loop:
b loop
2 编译代码
arm-linux-gnueabihf-gcc -g -c led.s -o led.o
-g 输出调试信息
-c 编译但不链接
3 确定链接地址,将 .o 文件链接到指定位置
arm-linux-gnueabihf-ld -Ttext 0x87800000 led.o -o led.elf
-Ttext 指定链接地址
-o 生成 elf 文件
4 生成烧录所需的 .bin 文件
arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
-O 指定输出格式 binary 二进制
-S 不要复制源文件中的重定位信息和符号信息
-g 不复制源文件的调试信息
5 如果需要查看文件内容
arm-linux-gnueabihf-objdump -D led.elf > led.dis
将文件从二进制反汇编成 汇编代码
6 Makefile
led.bin:led.s
arm-linux-gnueabihf-gcc -g -c led.s -o led.o
arm-linux-gnueabihf-ld -Ttext 0x87000000 led.o -o led.elf
arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin
arm-linux-gnueabihf-objdump -D led.elf > led.dis
clean:
rm -rf *.o led.bin led.elf led.dis