Loading...

我們的開發環境簡介

上圖為我們的 building environment。雖然建構 building environment 是一件耗時費工且又無法馬上看到成效的苦差事,但若是沒有一個 building environment,我們可能要獨立編譯各個元件,例如 Linux kernel、Busybox、root file system 等等,而且為了提供多人共同開發的環境、縮短前置作業的時間、讓大家能夠快速地進入 Android 的世界,所以我們為此打造一個全新、整合性的 building environment,我們的 building environment 不僅小而美,還有下列優點:

  1. 分散式且集中管理的 building environment。
    • 我們將自己建立的 Makefile 收集在 mkfile 目錄下集中管理,避免傳統 recursive make 的 Makefile 散佈在不同階層的目錄中造成管理不易等問題。
    • 單一 Makefile 只負責單一元件,避免傳統單一 Makefile 卻要控制所有元件的編譯行為,造成單一 Makefile 日益增大及維護不易等問題。
    • 降低 Makefile 之間的相依性,building environment 易於維護。
  2. 儘可能避免 recursive make,可在 GNU Make 支援 parallel make 的情況下,同時編譯多個目標、縮短編譯時間、加快開發時程。
  3. 結構化的 building environment。
    • Component-based building environment。
    • 新增的元件可以非常容易地加入我們的 building environment 中。
  4. 在 Makefile 中使用函數呼叫取代變數定義,減少變數宣告。
  5. 加入判斷式以避免重複編譯等問題。

我們設計此開發環境的目的是希望使用者可以簡單透過 make 指令便完成 Android 執行環境的建置,所產生的 Binary Code 可以直接寫入 Flash ROM,並複
製 target 端的檔案系統至 USB 隨身碟中,如此實驗平台開機後便可以看到 Android 的執行畫面。

我們的開發環境亦支援以往 Embedded Linux System 的開發方式,我們將 Android 的檔案系統獨立置於 USB 隨身碟中,由使用者自由選擇是否要執行 Android。

Loading...