ARM開發板系統移植-----u-boot的編譯


  

  本文和另外兩篇姊妹篇都是為了說明如何裁剪出適合在mini2440 開發板上運行的Linux系統,以記錄自己的學習成果。其中本文先介紹了嵌入式系統的軟件組成部分,然后介紹編譯出適合在mini2440開發板上運行的uboot的方法步驟。

  說明:筆者使用的開發平台---RetHat linux系統,開發板---Friendly mini2440

   在開始講述系統移植的具體方法之前,先大致了解一下嵌入式系統的軟件組成:

  

     從上面這個圖可以看出,嵌入式系統的軟件組成主要包括bootloader、內核以及根文件系統。當然還有bootloader傳給內核的參數列表以及沒畫出來的應用軟件。其中bootloader在開發板一上電就會被硬件自動載入內存並最先獲得CPU的使用權。bootloader完成一些列的初始化工作,包括加載剩余的bootloader到內存中、初始化CPU(設置CPU各個功能模塊到一個合適的狀態,比如工作模式、關閉看門狗、設置向量表、設置堆棧等等)、初始化板載硬件資源如內存、串口、網卡、usb等等。當bootloader順利完成以上工作以后,它就會將內核加載到內存中,並且傳遞啟動的參數給內核,最后啟動內核。

  內核的工作就相對復雜得多了,不過基本上都是初始化硬件以及內核使用到的各種列表,並且啟動相應的進程完成相應的工作,這里就不詳細介紹。日后再撰文詳細介紹內核啟動過程都完成了哪些工作。不過這里需要了解的是內核在啟動中會掛載一個根文件系統,作為后續系統各種文件系統的掛載點。

  uboot的編譯事實上很簡單,大致可以分為兩步:

  1、配置uboot:此步驟是為了能夠配置出適合在開發板使用的代碼以便進行編譯,進入uboot頂層目錄使用如下命令:

      make mini2440_config

  2、編譯uboot:此步驟編譯出uboot的二進制可執行文件,使用如下命令:

      make ARCH=arm CROSS_COMPILE=arm-linux-

      完成上面兩個步驟之后可以在頂層目錄中找到可執行代碼:u-boot.bin,這就是燒寫到開發板的二進制映像。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM