SFFamily 板


LINE

※ [本文轉錄自 LinuxDev 看板] 作者: ASTRAY (蛇尾傭兵叢雲劾) 看板: LinuxDev 標題: [心得] 跌跌撞撞的E680開發環境建置歷程-part2 時間: Wed Jun 25 00:24:17 2008 先大概提一下建置toolchain的大致步驟,雖然這應該很多人知道, 不過我還是提一下讓完全沒接觸過的人有個基本概念。 建置toolchain 最粗略的就是作以下的步驟: 1.設定安裝 linux header 2.建置binutil(用Host的compiler) 3.建立bootstrap compiler (好像也有人稱為 1st stage compiler) 此時的compiler只支援最基本的C語言 4.用前面的binutil, compiler 建置C library(glibc 或 newlib 或 uLibc) 5.用前面的binutil, compiler, C library建置真正以後要用的cross compiler 此時就可以選擇再加上其他程式語言的compiler (嵌入式環境一般也頂多加上C++而已) 而這些步驟要做的事情其實也差不多(除了linux header以外) 1.) 抓source code, 解壓縮之 2.) 找patch,打補釘之 3.) 建立build-<套件名稱> 目錄 4.) cd build-<套件名稱> 5.) ./configure 下參數 6.) make 對了稍微提一下我的Host環境, ubuntu linux 8.04 x64 因為有兩個失敗的地方就是跟ubuntu預設值有關 其實我一開始就是要用完全手動的方式建置toolchain,不過吃足了苦頭。 因為linux header, binutil, gcc, glib 不是隨便任何版本都可以拿來組合在一起的 中間亂七八糟的try and error我也快記不清楚了 我大概講一下我認為值得注意的部分 1.不要選用太新甚至最新的版本,因為根本沒有人出patch, 除非湊巧這個版本加上這個平台沒有問題,否則就是有bug要修 可是我們都不是GCC開發人員也不是駭客,沒辦法自己修改source code 最好去參考那些現成的toolchain(像我之前提到的 GNUARM, WINARM等等) 它們採用的gcc, binutil, C library版本 至少可以確定已知有什麼版本的組合是有人建置成功的 否則就是要自己花時間去try 像我的經驗是binutil 2.17是可以不打任何patch就可以通過編譯的 (但我後來有看到有人出 bintuil 2.17 的patch) 2.編譯GCC的時候注意Host系統上現在用的GCC版本,盡量不要差太多 一開始編譯GCC-3.3 一直失敗,原因是ubuntu 8.04預設用的是GCC-4 後來老老實實的去裝GCC-3.3,把gcc的符號連結改指向 gcc-3.3 才得以通過編譯 3.這跟前一個其是算同一類,注意Host系統上有沒有缺相依的套件 像是如果要編譯GCC-4, 我記得系統上要有libogmp 要編譯glibc別忘了還要抓對應版本的glibc-linuxthreads 還有glibc 2.4開始把一些處理器的支援分離出來,所以glibc-ports的也要抓 (連帶也影響configure script參數) 由於純手動建置還得自己找patch,不然完全沒輒。 而且每次要./configure 真的會累死人,所以我後來改用crosstool套件來建置 好累,下一篇我只寫使用crosstool的注意事項。 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.67.138
1F:推 taiying:我也是try了很多 最後受不了直接用crosstool一次搞定 XD 06/25 06:52
2F:推 mizuki2005:真是受益良多阿! 好文 :) 06/25 22:19
-- 三月的柳絮不飛 妳的心如小小的寂寞的城 我達達的馬蹄是美麗的錯誤 我不是歸人 我是馬~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.117.169







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP