第14章 Bootloader基本概念與燒錄
大綱 14.1 Bootloader介紹 14.2 S3C2440 Bootloader建立流程 14.3 S3C2440 Bootloader燒錄流程
14.1 Bootloader介紹 14.1 Bootloader介紹 14.2 S3C2440 Bootloader建立流程 14.3 S3C2440 Bootloader燒錄流程
Bootloader是在作業系統執行之前執行的一段小程式。其功用為: 初始化硬體設備、建立記憶體空間的映射表,建立適當的系統軟硬體環境,做好呼叫作業系統核心的準備。 Bootloader是建立在特定硬體平台來實現的。 針對不同處理器架構會有不同的Bootloader。
Linux系統是透過Bootloader引導啟動的。 初始化動作會從某個位址開始執行,由處理器設計決定的。 X86的復位RESET向量在高位址端。 ARM處理器在RESET時從位址0x00000000讀取第一條指令。 嵌入式系統平台會將ROM或Flash映射到這位址。因此,必須把Bootloader程式儲存在相應記憶體位置。
目前利用Bootloader啟動作業系統的方式有兩種: 網路啟動方式 Flash啟動方式
14.2 S3C2440 Bootloader建立流程 14.1 Bootloader介紹 14.2 S3C2440 Bootloader建立流程 14.3 S3C2440 Bootloader燒錄流程
選擇附贈光碟中的程式資料複製BIOS程式碼 14.2 S3C2440 Bootloader建立流程 選擇附贈光碟中的程式資料複製BIOS程式碼 複製usb、src、inc三個資料夾 路徑:BIOS&TEST\dma2440xp_Test
所生成的Bin檔會位在專案資料夾中的DebugRel_bin的資料夾中 14.2 S3C2440 Bootloader建立流程 所生成的Bin檔會位在專案資料夾中的DebugRel_bin的資料夾中
14.3 S3C2440 Bootloader燒錄流程 14.1 Bootloader介紹 14.2 S3C2440 Bootloader建立流程 14.3 S3C2440 Bootloader燒錄流程
燒錄Bootloader需透過JTAG燒錄器做燒錄動作 14.3 S3C2440 Bootloader燒錄流程 開發主機 實驗平台 ARM JTAG 燒錄器 Print Port 線 JTAG JTAG燒錄器安裝架構圖 燒錄Bootloader需透過JTAG燒錄器做燒錄動作
在平台中,附有燒錄用的JTAG燒錄器及JTAG燒錄介面。 14.3 S3C2440 Bootloader燒錄流程 JTAG燒錄器 開發平台 JTAG介面 在平台中,附有燒錄用的JTAG燒錄器及JTAG燒錄介面。
14.3 S3C2440 Bootloader燒錄流程 JTAG燒錄器必須安裝驅動程式 安裝程式路徑:光碟中Flash write->安裝驅動.exe
14.3 S3C2440 Bootloader燒錄流程 安裝完畢後,便會顯示Service is installed and run狀態
14.3 S3C2440 Bootloader燒錄流程 修改執行指令檔 檔案路徑:光碟中Flash write-> SJF_YL2440A_ MON.BAT
14.3 S3C2440 Bootloader燒錄流程 利用記事本開啟編輯執行指令檔 修改內容:sjf2440 /f:先前編譯的bin檔
14.3 S3C2440 Bootloader燒錄流程 執行指令檔流程 將ARM JTAG 燒錄器連接起來 將平台重新開機,連擊指令檔,顯示上面畫面
燒錄Bootloader至NAND memory流程 14.3 S3C2440 Bootloader燒錄流程 燒錄Bootloader至NAND memory流程 點選0,選擇NAND記憶體 再次選0,執行燒錄動作 最後選0,由區塊0開始燒錄
燒錄Bootloader至Nor memory流程 14.3 S3C2440 Bootloader燒錄流程 燒錄Bootloader至Nor memory流程 點選3,選擇Nor記憶體 最後選0,由區塊0開始燒錄
燒錄完畢後,將JTAG移除後重新開機,即可顯示出燒錄Bootloader畫面 14.3 S3C2440 Bootloader燒錄流程 燒錄完畢後,將JTAG移除後重新開機,即可顯示出燒錄Bootloader畫面 上述為燒錄NAND記憶體的Bootloader畫面
問題與討論 請讀者重覆本章的範例並將新產生的二進制Bootloader程式碼燒錄至開發平台的NAND Flash記憶體中。 請讀者重覆本章的範例並將新產生的二進制Bootloader程式碼燒錄至開發平台的NOR Flash記憶體中。 請讀者試著新增一個Bootloader的選項-驅動LED閃爍。 請讀者試著新增一個Bootloader的選項-驅動8x8點矩陣閃爍。