自行build gcc的source code所需要下的 … - Linux

Hardy avatar
By Hardy
at 2010-10-10T23:04

Table of Contents


前情提要 : 買了一塊Atmel的AT91SAM9G20 (ARM926EJ-S core, 400MHz), 想好好研究一
下ARM架構 + embedded system.

抓了Atmel官網上的 AT91Bootstrap1.16 後發現原廠是用GNU ARM toolchain
(http://www.gnuarm.org) 去build, 不過我很討厭Linux的OS (討厭要改一海票奇怪的參
數檔, 該死的是還不是所有的distribution都會一樣).

我不是Linux魔人, 所以我就嘗試用我最喜歡的Cygwin裡面的gcc去把這些抓下來的
source code去build成我要的arm-elf toolchain.

瘋狂估狗+多次痛苦的嘗試後, 終於成功了, 跟大家分享一下.


1.安裝Cygwin (我是今天2010/10/10上去官網抓setup檔案下來後連server安裝的), 不
知道那些可以不用裝的話, 就全裝吧, 我自己是影音/桌面/security/DB/publish
這些都沒裝. 裝好後Cygwin裡面的gcc版本是4.3.4

2.去GNU官網抓 : binutils-2.20.1 + gcc-4.5.1 + newlib-1.18.0
(這些版本應該都是目前最新的)

3.抓下來後的source壓縮檔統一放在C:\cygwin\ARM_toolchains_source,
然後將這三包壓縮檔都解開
tar -xvjf binutils-2.20.1.tar.bz2 ...等等

4.預先做好build成功後要install的資料夾, 我統一放在C:\cygwin\ARM_toolchains
(這三樣source build好後都要install在同一資料夾下, 不可分開放)

5.開始build binutils-2.20.1 :

./configure --target=arm-elf --prefix=/ARM_toolchains --enable-interwork
--enable-multilib

make all install

6.build成功後, 開啟/etc/profile此檔案來去新增PATH路徑
(要把剛剛build出來的binutils加入)

PATH=/usr/local/bin:/usr/bin:/bin:/ARM_toolchains/bin:$PATH
^^^^^^^^^^^^^^^^^^^

7.build gcc-4.5.1 part-1 :

./configure --target=arm-elf --prefix=/ARM_toolchains --enable-interwork
--enable-multilib --enable-languages=c,c++ --with-newlib
--with-headers=/ARM_toolchains_source/newlib-1.18.0/newlib/libc/include

make all-gcc install-gcc

8.成功後再次開啟/etc/profile此檔案來去新增PATH路徑
(要把剛剛build出來的gcc加入)


PATH=/usr/local/bin:/usr/bin:/bin:/ARM_toolchains/bin:
/ARM_toolchains/libexec/gcc/arm-elf/4.5.1:
/ARM_toolchains/libexec/gcc/arm-elf/4.5.1/install-tools:$PATH

(路徑太長自己連好)


8.build newlib-1.18.0 :

./configure --target=arm-elf --prefix=/ARM_toolchains --enable-interwork
--enable-multilib

make all install

9. build gcc-4.5.1 part-2 :

make all install


大功告成...耶


PS1 : 在make的時候不要下 -j2之類的參數, 我的PC是AMD Dual core K8, 用-j2會有問
題.

PS2 : 我沒build GDB/insight, 因為沒用過也不會用, 而且有ICE可以用, 靠ICE的SW應
該就夠了.

PS3 : 若有板友需要這些 "在Cygwin底下的ARM cross toolchain執行檔"
(就是直接拿我build好現成的), 可以跟我說,我再丟給你, 但是要先幫我找
免費空間...

PS4 : 我當然不可能保證這些build出來的執行檔沒問題(拜託我Linux菜B耶), 不過
這些版本都很新, 說不定支援度更好 ?

PS5 : 這次的組合是arm-elf + newlib, 這組合有辦法把Linux kernel source
code去build成for ARM的嗎 ? 請板友指點.


--

曾經滄海難為水,除卻巫山不是雲

--
Tags: Linux

All Comments

Todd Johnson avatar
By Todd Johnson
at 2010-10-15T15:37
整條toolchain只有gcc不能下-jx 不過cygwin的make好像本來
就有問題?(不太確定在哪看過的
Tom avatar
By Tom
at 2010-10-18T15:20
所以後來全部砍掉重練,乖乖重新make不加任何-j選項

ubuntu10.10正式釋出

Suhail Hany avatar
By Suhail Hany
at 2010-10-10T22:44
請問有人裝了 ubuntu maverick 之後, 新增酷音輸入法, 要打字的時候會一直不斷跑出 and#34;設定and#34; 視窗嗎 不知道該怎解決 ※ 引述《PowerPtt (PPT)》之銘言: : 就在幾分鐘前已經可以下載了 : http://releases.ubuntu.com/mave ...

要怎ㄇ用 gedit 開啟以 BIG5 編碼ㄉ文字檔??

James avatar
By James
at 2010-10-10T22:00
我用 gedit 開文字檔都會亂碼 要怎ㄇ用 gedit 開啟以 BIG5 編碼ㄉ文字檔?? - ...

請教自架廣播系統

Tristan Cohan avatar
By Tristan Cohan
at 2010-10-10T18:39
我想自己架個p2p的廣播系統來撥放音樂, 不知道有沒有前輩有這方面的經驗, 因為自己google到的資訊都不符合我的需求, 感謝指教。 p.s. 如果可以用瀏覽器直接撥放是最好了, 不然我是想到用web socket來寫網頁上的播放部分。 - ...

ubuntu10.10正式釋出

Madame avatar
By Madame
at 2010-10-10T18:31
就在幾分鐘前已經可以下載了 http://releases.ubuntu.com/maverick/ 正在緩速下載中...看來伺服器很塞 - ...

視窗化程式設計

Rachel avatar
By Rachel
at 2010-10-10T15:39
※ 引述《kkarthur (aa)》之銘言: : 請問在Linux環境之下是否有支援Fortran的視窗化程式設計呢? : 像是visual Fortran中的Standard Graphics 或QuickWin模式 : 另外請問,Linux下哪一套視窗化程式設計軟體比較簡單易學? Take a loo ...