嵌入式開發 Bootloader的燒寫

2021-08-30 20:45:02 字數 1060 閱讀 1125

在開發時,通常使用各種命令操作bootloader,一般通過串列埠來連線pc和開發板,可以在串列埠上輸入各種命令、觀察執行結果、燒寫核心和檔案系統等。這也只是堆開發人員才有意義,使用者使用產品時是不用串列埠來控制bootloader的。從這個觀點看,bootloader可以分為以下兩種工作模式:

啟動載入模式

上電後,bootloader從板子上的某個固態儲存裝置上將作業系統載入到ram執行,這個過程沒有使用者的介入。

具體要分以下幾種情況:

(1)使用程式設計器將bootloader燒寫到falsh中:

將bootloader寫入flash,然後將燒寫完畢的flash插入板子上,這是針對flash還沒有插入板子的情形。程式設計器也叫device programmer,是對非易失性儲存介質和其他電可程式設計裝置進行程式設計的工具。傳統的程式設計器,需要把flash(舉例)從電路板上取下來,插到程式設計器的介面上,以完成擦除和燒寫。現在的程式設計器發展的方向是isp(in-system programming,在系統可程式設計),就是指電路板上的空白器件可以程式設計寫入終端使用者**,而不需要從電路板上取下器件。

(2)使用ads軟體和arm**器:

先將編譯後的flash燒寫程式載入到sdram中,執行flash燒寫程式,在指定flash燒寫的起始位址後,flash燒寫程式將從電腦上把編譯好的bootloader映像燒寫到flash的指定位置。

(3)使用bootloader:

這是針對bootloader已經駐留在flash的情形,可以通過bootloader燒bootloader,bootloader之所以具有這種功能,是由bootloader的分段執行特性決定的,當bootloader在flash中執行時,主要是把自身剩餘的**複製到sdram中,然後進入到sdram執行後就可以反過來更新flash中的bootloader映像了。如果bootloader不分段一直在flash中執行,同時又更新flash中的資料,這樣將造成邏輯錯誤。

(4)處理器支援從rom啟動

(5)處理器不支援從rom啟動bootloader與u-boot移植:

燒寫bootloader的幾種方法:

bootloader燒寫 :

嵌入式Bootloader小述

bootloader的概念 bootloader就是在作業系統核心執行之前執行的一段程式,類似於pc機中的bios程式。bootloader的功能就是完成硬體裝置的初始化 建立記憶體空間的對映圖的功能,將系統的軟硬體環境帶到乙個合適的狀態,為最終呼叫系統核心做好準備。嵌入式中的bootloader一...

嵌入式 BootLoader 技術內幕

在專用的嵌入式板子執行 gnu linux 系統已經變得越來越流行。乙個嵌入 式 linux 系統從軟體的角度看通常可以分為四個層次 引導引導程式。包括固化在韌體 firmware 中的 boot 可選 和 boot loader 兩大部分。linux 核心。特定於嵌入式板子的定製核心以及核心的啟動...

嵌入式 Bootloader的作用

關於bootloader的作用,老師教我們把它當作pc的bios來理解,但其實不完全是這麼回事。文章參考 bootloader是系統加電後執行的第一段 一般它只在系統啟動時非常短的時間內執行。在pc中,整個bootloader由bios 主機板上固化的一段程式 位於硬碟mbr區的os loader一...