交叉工具鏈
多個交叉工具的集合
交叉開發
開發過程中有宿主機和目標機之分,宿主機編譯,鏈接,嵌入式軟件計算機,目標機運行嵌入式軟件平臺。
交叉編譯器
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