交叉工具链
多个交叉工具的集合
交叉开发
开发过程中有宿主机和目标机之分,宿主机编译,链接,嵌入式软件计算机,目标机运行嵌入式软件平台。
交叉编译器
arm-linuc-gcc
arm-linux-gcc 寻找头文件arm-linux-gcc -print-search-dirs
gcc
gcc寻找头文件 在usr/include中寻找
使用
arm-linux-gcc -c test.c -o test
-c 只编译不链接
-o 生成一个test.o的文件
arm-linux-gcc -c led_on.S -o led_on.o
交叉链接器
arm-linux-ld
arm-linux-ld -T(链接器的名字) -o 链接出的名字(_elf) 进行链接的文件
arm-linux-ld -Ttext 0x0000000 -o led_on_elf led_on.o
elf阅读器
arm-linux-readelf
arm-linux-readelf -a crt.o -a查看全部内容
注意Data这个有用的数据
反汇编器
arm-linux-objdump
arm-linux-objdump -D -S 名字>dump
文件格式转换器
从elf格式到二进制格式
arm-linux-objcopy
arm-linux-objcopy -O binary -S xxx_elf xxx.bin
-O 输出文件格式
binary 二进制
-S 输入的文件
xxx.bin 输出的文件
arm-linux-objcopy -O binary -S led_on_elf led_on.bin