學習筆記 自己動手寫BootLoader

2021-08-16 21:38:19 字數 1550 閱讀 8739

tips:

核心從板載啟動的 bootargs--核心啟動引數, bootargs 是 bootloader 傳遞給核心的啟動字串。

在嵌入式作業系統中,bootloader是在

作業系統核心執行之前執行。可以初始化硬體裝置、建立記憶體空間對映圖,從而將系統的軟硬體環境帶到乙個合適狀態,以便為最終呼叫

作業系統核心準備好正確的環境。在

嵌入式系統中,通常並沒有像bios那樣的

韌體程式(注,有的嵌入式cpu也會內嵌一段短小的啟動程式),因此整個系統的載入啟動任務就完全由bootloader來完成。在乙個基於arm7tdmi core的

嵌入式系統中,系統在上電或復位時通常都從位址0x00000000處開始執行,而在這個位址處安排的通常就是系統的bootloader程式。常見的bootloader程式如下:

最簡單的bootloader的編寫步驟:

1). 初始化硬體:關看門狗、設定時鐘、設定sdram、初始化nand flash

判斷從nand啟動還是nor啟動就往記憶體中寫資料即可,之後看是否能從記憶體相應位址讀出對應的值。

nand_flash的時序(s3c2440中)

nand-flash存在先天缺陷:會位反轉為此引入oob out of bank。

nand_flash晶元手冊中

2). 如果bootloader比較大,要把它重定位到sdram

3). 把核心從nand flash讀到sdram

4). 設定"要傳給核心的引數"

在u-boot中檢視分割槽,使用命令 mtd

5). 跳轉執行核心

在簡單的bootloader編寫的過程中出現過以下錯誤,

自己動手寫bootloader

原始出處 作者資訊和本宣告。否則將追究法律責任。為了寫乙個bootloader讓板子跑起來,首先我們要知道bootloader是個什麼東東才行。簡單的說,bootloader就是乙個引導核心啟動的一段小 也就是說當啟動完核心之後,它的使命就已經結束。bootloader生命週期 初始化硬體 設定啟動...

自己動手寫CMS

簡易的cms外掛程式,可供借鑑或者擴充套件 流程 定義內容 分類與組織內容 儲存內容 操作控制內容 定義內容 制定目標 確定需要的內容型別 目標使用者定位 確定目標使用者需要何種技術 分類與組織內容 按內容所屬的邏輯層級關係來劃分 按內容的種類來劃分,比如video text audio等等 儲存內...

自己動手寫SpringMVC 四

本文將主要實現dispatcherservlet!之前已經分析過dispatcherservlet主要的任務,分為五個任務,我們從任務一開始開始實現!任務1 把專案中所有的bean掃瞄,進行維護 實現 如下 private void scanpackage string basepackage el...