2012年2月22日 星期三

[好書推薦]建構嵌入式Linux系統(ch4.1)

以前我老是以為只要準備好toolchain就可以,但是慢慢的發現其實不只如此,但是更發現這本書竟然講得如此有系統(雖然礙於時間,提到的軟體有些已經過時)
第四章
不只是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

沒有留言:

張貼留言