Re: [問題] 自行build gcc的source code所需要下的 …
前情提要 : 買了一塊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的嗎 ? 請板友指點.
--
曾經滄海難為水,除卻巫山不是雲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.58.147
※ 編輯: MPU 來自: 114.24.58.147 (10/10 23:04)
→
10/10 23:51, , 1F
10/10 23:51, 1F
→
10/10 23:51, , 2F
10/10 23:51, 2F
→
10/11 00:33, , 3F
10/11 00:33, 3F