arm-linux-gcc -c -o led.o led.S
arm-linux-ld -Ttext 0 led.o -o led.elf
arm-linux-objcopy -O binary -S led.elf led.bin
arm-linux-objdump -D led.elf > led.dis
arm-linux-gcc -c -o led.o led.c :编译不链接
arm-linux-gcc -o led led.c :编译以及链接
arm-linux-ld 连接选项
-Ttext 0x00000000 指代码段头地址为0x00000000
-T链接脚本 指使用链接脚本来进行更复杂的地址设置,包括了代码段,数据段,bss段等
-o 后面指的将多个文件连接在一起,生成一个obj文件,上面的名称是led.elf。
-pie 生成动态链接地址段,一般在新版uboot里会看到
arm-linux-objcopy 复制选项,支持格式转换
-O binary 用来指定生成文件按照后面的格式来输出,其中binary是指生成二进制(.bin)文件。
-S 不从源文件中复制重定位信息和符号信息到目标文件中去
arm-linux-objdump 反编译选项
-D 反编译所有段
-b binary 指定反编译目标文件格式
-m ram 指定反编译目标文件所需的架构,这里是ram架构