第四章
不只是toolchain更說明了整體開發環境的規劃,作者將每一個專案例舉為一種開發工作,如何布置工作區域(目錄),顯得很重要
作者建議將建立一工作區域,然後底下有這些目錄
- bootldr : target boot loader所在
- build-tools : 建構toolchain的工具目錄
- debug : 除錯工具
- doc : 文件
- images : 建構的image
- kernel : target kernel目錄
- project : 專案的configure file
- rootfs : target root file system
- sysapps : target applications
- tmp : temp file directory
- tools : cross platform toolchain and c libs
如果是我大概只有四五個目錄,就是重要的bootloader、kernel、file system、toolchain跟建構toolchain的工具XD
config file其實我認為包含了ㄧ些有關專案的環境變數,如果要開發數個專案應該獨立出來,避免寫入.bashrc之類的個人設定檔案中,可以保持彈性。toolchain的命名規則其實現在很多工具建構出來就會自動類似作者建議的cpu-manufacturer-kernel-os,不過很可惜也不是完全吻合,不過至少是一種建議
作者也討論到了各種lib合適的狀況,只有舉例到thread跟glibc/ulibc等,建構這樣一個環境真的還蠻費工夫的,考慮如果以後還要維護就會知道這有多麻煩,如果同一台機器/專案,要因應不同時間建構不同的kernel對應不同的toolchain,比方說gcc 2.6很難編譯得過kernel 3.x,這時候就要更新toolchain,如果沒有設定好設定案跟更新lib,恐怕功夫就不只是編譯這麼簡單
其次再考慮到要建立這些toolchain跟lib也要花上龐大的功夫,作者推薦了兩個前人努力的結果的套件,可以幫忙建立toolchain跟一些lib,分別是ptxdis跟buildroot
沒有留言:
張貼留言