• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-uboot編譯原理介紹

4小時前
129
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

用編譯工具將源碼文件編譯成可執(zhí)行文件的過程并不是一步到位的,其中要經(jīng)過一個類似工廠流水線的過程,交叉編譯工具中包含負責處理各個環(huán)節(jié)的功能工具,所以叫做交叉編譯工具鏈。

編譯的一般過程分為:

預編譯->編譯->匯編->鏈接->生成elf文件->轉(zhuǎn)換為二進制可支持bin文件。

預編譯Pre-compile階段:主要是對頭文件#include 、宏定義#define等進行展開。

編譯compile階段:主要是將我們的.c文件編譯成匯編.s文件。

匯編Assembly階段:將匯編文件.s編譯成為目標文件.o。

鏈接Link階段:將生成.o文件鏈接生成.elf文件。

轉(zhuǎn)換階段:將生成的.elf文件轉(zhuǎn)換成為可執(zhí)行二進制.bin文件。

而這些編譯步驟是通過make工具解析Makefile文件來執(zhí)行。Makefile 文件中描述了整個工程所有文件的編譯順序、編譯規(guī)則、依賴關(guān)系等。關(guān)于Makefile更多內(nèi)容,請閱讀后面Makefile章節(jié)。

相關(guān)推薦