![]() |
|
嵌入式交叉編譯過程詳解 |
|
嵌入式軟件開發所采用的編譯為交叉編譯。所謂交叉編譯就是在一個平臺上生成可以在另一個平臺上執行的代碼。因此,不同的CPU需要有相應的編譯器,而交叉編譯就如同翻譯一樣,把相同的程序代碼翻譯稱不同的CPU對應語言。要注意的是,編譯器本身也是程序,也要在與之對應的某一個CPU平臺上運行。嵌入式系統交叉編譯環境如圖1-1所示。(擴展閱讀:搭建交叉編譯環境)
這里一般把進行交叉編譯的主機稱為宿主機,也就是普通的通用計算機,而把程序實際的運行環境稱為目標機,也就是嵌入式系統環境。由于一般通用計算機擁有非常豐富的系統資源、使用方便的集成開發環境和調試工具等,而嵌入式系統的系統資源非常緊缺,沒有相關的編譯工具,因此,嵌入式系統的開發需要借助宿主機(通用計算機)來編譯出目標機的可執行代碼。 由于編譯的過程包括編譯、鏈接等幾個階段,因此,嵌入式的交叉編譯也包括交叉編譯、交叉鏈接等過程,通常ARM的交叉編譯器為arm-elf-gcc,交叉鏈接器為arm-elf-ld,交叉編譯過程如圖1-2所示。
熱點鏈接:
1、嵌入式培訓資料:Qt/Embedded編程入門 |