[1]環境搭建
安裝交叉編譯工具鍊(arm-linux-gcc4.4.3)
詳見Bolg。
交叉編譯基礎
arm-linux-gcc常用指令
1.檢視頭檔案和庫檔案的搜尋路徑:
2.arm-linux-gcc常用指令
arm-linux-gcc -g -c led.S
//-c為僅彙編操作 -g添加調試資訊
arm-linux-ld -Tled.lds -o led.elf led.o
//執行連結操作
arm-linux-readelf -a led.elf
//檢視elf檔案頭資訊
arm-linux-objdump -D -S led.elf
//執行反彙編操作
arm-linux-objcopy -O binary led.elf led.bin
//轉換為二進制檔案
Makefile基礎知識
基本結構
target(目标) : prerequisites(依賴)
command(指令)
變量的使用
- 定義:obj=func1.o func2.o
- 使用:$(obj)
特殊變量
- $^ :代表所有依賴檔案
- [email protected] :代表目标
- $< :代表第一個依賴檔案
通用規則(執行個體)
%.o : %.c
arm-linux-gcc -o %@ -g -c %^
連結器腳本
SECTIONS {
. = ;
. = ALGN();
.text :
{
start.o(.text)
*(.text)
}
. = ALGN();
.data :
{
*(.data)
}
bss_start=.
. = ALGN();
.bss :
{
*(.bss)
}
}
設定起始連結位址
設定4位元組對齊
變量的使用
代碼段首檔案
start.o(.text)
*(.text)
eclipse內建開發環境
- arm-linux-gcc
- arm-linux-gdb
- JLink_Linux
- eclipse
注意:環境變量配置在/etc/profile中。