Re: [問題] 自行build gcc的source code所需要下的 …

看板Linux作者 (不勝人間一場醉)時間13年前 (2010/10/10 23:04), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
前情提要 : 買了一塊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
整條toolchain只有gcc不能下-jx 不過cygwin的make好像本來
10/10 23:51, 1F

10/10 23:51, , 2F
就有問題?(不太確定在哪看過的
10/10 23:51, 2F

10/11 00:33, , 3F
所以後來全部砍掉重練,乖乖重新make不加任何-j選項
10/11 00:33, 3F
文章代碼(AID): #1CiTNtDt (Linux)