定製ARM For Linux交叉編譯工具詳解

來源:互聯網
上載者:User

1、 ToolChain 簡介

ToolChain包含許多組件:主要之一是GCC,它可以是原生編譯工具或交叉編譯工具,GCC由Binuitls工具支援,Binutils是二進位代碼維護工具,這些組件是編譯器的必要工具,同時他們也需要C庫(glibc)支援。認真考慮一下:定製一套編譯工具並不是想像中的易事!如果你還想繼續看下去,必須具備如下技能:

熟悉Linux環境

熟悉Linux的必要命令和工具的使用

知道如何配置、編譯核心和應用程式

以下章節將介紹怎樣定製ARM交叉編譯工具集,但對於大多數ARM開發人員來說,沒有必要親自做這件事,完全可以用現成的工具集。除非現成的工具集不滿足你的使用要求,或者你想提高開發應用的能力。總之,我們強烈建議你使用現成穩定的工具集來做應用開發!

2、 定製ToolChain

首先來看看工作的大至步驟:

決定目標的名稱

決定目標的存放位置

編譯、安裝Binutils

編譯、安裝GCC

編譯、安裝GLIBC

讓交叉編譯工具支援更多編譯語言

測試定製的交叉編譯工具

2.1、決定目標的名稱

原生編譯工具集編譯的代碼只適用本機(大多數PC是X86)運行,對於ARM開發人員來說,需要一個能在原生編譯、但編譯卻產生ARM運行代碼的一套交叉編譯工具集。

因此,選擇一個與本機工具集相異的特定含義的目標名稱是非常有必要的。

arm-linux:是個比較受歡迎的名稱,支援ELF格式(ARMLinux標準)。除Acorn使用者使用老的a.out格式外。

arm-linuxaout:選擇a.out格式,ARMLinux基本不支援它了。

arm-aout、arm-coff、arm-elf、arm-thumb:其它的格式名。

你也可以在其中插入版本資訊,比如:

armv2:ARMV2核,支援26bit模式。

armv3l、armv3b:ARMV3核,小位元組(l)或大位元組(b)模式。

armv4l、armv4b:ARMV4核,如:StrongARM、ARM7TDMI、ARM8、ARM9。同樣也支援小位元組(l)或大位元組(b)模式。

armv5l、armv5b:ARMV5核,如:XScale核ARM10。同樣也支援小位元組(l)或大位元組(b)模式。

選擇什麼名稱對定製ARM交叉編譯工具集沒太大的影響,但用大家常用的名稱會比較好些。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.