我們知道對於pc機,使用電腦時我們首先按下開機按鍵,然後等待電腦的啟動,開機完成後,我們會進行各種需要的操作,如qq聊天、寫csdn部落格等。其實這個過程是:啟動bios程式,由bios程式引導windows作業系統,再由作業系統識別c盤d盤等硬碟,最後執行應用程式qq、csdn等。對嵌入式系統來說,對應bios的是bootloader程式,由bootloader程式啟動linux核心,再由核心掛載「根檔案系統」,最後執行應用程式。這裡所說的u-boot是bootloader中的一種,除了u-boot外,還有lilo、grub、vivi等等。
上面的分析可以看出嵌入式系統的幾個層次,以及各層次的關係。
1.使用者應用程式
2.檔案系統
3.linux核心
4.bootloader引導引導程式
可以這樣理解bootloader程式的作用:它是一段程式,在系統上電後,首先由它來進行一些硬體初始化,如關閉看門狗、改變系統時鐘、初始化儲存控制器、將更多**複製到記憶體中去,從而準備好軟體環境,最後呼叫作業系統核心,將核心複製到記憶體中。
了解了u-boot的作用後,就是使用u-boot了,下面給出u-boot的初步體驗:
所用開發板是jz2440。
解壓 tar xjf u-boot-1.1.6.tar.bz2
打補丁 cd u-boot-1.1.6; patch -p1 < ../u-boot-1.1.6_jz2440.patch
配置 make 100ask24x0_config
編譯 make
u boot 基本概述
參考部落格 一句話概括 初始化軟硬體環境,引導kernel啟動.設定異常向量,初始化時鐘,關閉看門狗,關閉i d cache,初始化記憶體控制器,初始化nand,初始化堆疊,設定sp,拷貝 設定引數,跳轉到核心 2個階段 bl1,bl2階段,bl0階段是cpu內部固話在sr0m中 執行,然後跳到bl...
uboot啟動流程概述 uboot啟動流程
u boot系統啟動流程 大多數bootloader都分為stage1和stage2兩大部分,u boot也不例外。依賴於cpu體系結構的 如裝置初始化 等 通常都放在stage1,且可以用組合語言來實現,而stage2則通常用c語言來實現,這樣可以實現複雜的功能,而且有更好的可讀性和移植性。2.1...
開始學習Uboot
昨天去電腦城買了條並口線 中途還差點走丟了,哎,新建路 維修 813改道了 把板子附帶光碟上面已經編譯好的 vivi 還有 linux 檔案系統刷到板子上試了一下,有kernel panic 的錯誤提示,然後就不走了。可能是編譯的時候 console 的配置問題吧。我還是偏向於學習 uboot 雖然...