交叉工具链

交叉工具链

多个交叉工具的集合

交叉开发

开发过程中有宿主机和目标机之分,宿主机编译,链接,嵌入式软件计算机,目标机运行嵌入式软件平台。

交叉编译器

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

你可能感兴趣的:(gcc,ARM,交叉编译)