天天看點

編譯mini2440工具鍊

原文:http://www.adamjiang.com/pukiwiki/index.php?%e7%bc%96%e8%af%91mini2440%e5%b7%a5%e5%85%b7%e9%93%be

         首先,從下面的位址下載下傳工具鍊  http://www.codesourcery.com/.../arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

         等待下載下傳完成後,将工具鍊解壓到/usr/local/目錄,如果你沒有編譯主機上的root權限的話,你可以将工具鍊解壓到linux使用者的home目錄中的某個位置(比如${home}/bin)

         這個操作将會在/usr/local目錄中建立一個麼名為arm-2008q3的目錄。

         接下來,你需要将這個新進添加的工具鍊的位置添加到path變量之中。編譯你的~/.bashrc檔案,在其中加入新的path變量

         使用source指令在目前shell中啟用這個變化,這樣你就不需要重新登入系統使用新變量了。

或者直接在shell中使用export對目前shell做同樣的操作。

         如果你并不是bash使用者,你可以修改你使用的shell所對應的環境設定檔案,比如,對于zsh來說,您應該修改~/.zsh檔案。或者,你需要在每次登入shell後首先運作上面的export操作。

         因為在開發主機上進行交叉編譯意味着使用開發主機的能力生成另外一個體系結構上運作的二進制代碼,是以,一般來說,你需要編譯的軟體通常都會接受一個叫做cross_compile的變量來指定産生哪個體系結構的代碼。是以,配置工具鍊的最後一個步驟就是設定這個變量。如果你現在使用ls指令檢視以下

         目錄的話,你會看到很多以arm-none-linux-gnueabi-開始的可執行檔案,而這個共同的字首就是你需要的cross_compile變量。現在,使用export指令設定環境變量

         現在,當你編譯軟體的時候,makefile在大多數情況向會取得cross_compile所指定的交叉編譯工具。當然,前提是,這些交叉編譯工具在你的path變量上。還有一種方法是通過絕對路徑來指定交叉編譯工具,這樣做可以更精确的為交叉編譯定位,同時可以避免很多錯誤。你可以通過下面這樣的例子指定交叉編譯工具的絕對路徑。

         在大多數情況下,你并不需要将上面的export指令加入~/.bashrc這樣的檔案,因為,你并不總是需要它們來做交叉編譯。比如,你僅僅希望編譯運作在開發主機上的程式時。這樣,工具鍊就準備好了。

繼續閱讀