如何將系統軟硬件環境帶到合適狀態解析方案
其各個區域基扇區地址(把MBR區的基扇區地址作為0)計算如下:
DBR區的基扇區地址=MBR基扇區地址+63
FAT表的基扇區地址=DBR的基扇區地址+保留扇區數
FDT區基扇區地址=每FAT表扇區數×FAT表個數+(FDT區的開始簇號2)×每簇扇區數+FAT表基扇區地址。(簇是系統進行文件管理的單位,FAT表中的每一項對應一個簇,文件的存取按簇進行,一簇包含若干個扇區。)
從FAT文件系統的組織結構可以看出,從SD卡中讀取系統內核代碼數據到指定的RAM區比較容易,就是根據系統內核文件名在文件系統中進行查找定位,隨后完成讀取。對于內核代碼的備份和加載,需要在深入分析FAT文件系統的組織結構的基礎上對SD卡格式化作一些處理。在格式化時,通過設置MBR 區和DBR區的數據實現不對SD卡存儲區的最末8 MB區域(根據實際需要可增減)作格式化處理的目的,即把它置為RAW區。所以系統內核備份的實現,就是把系統內核代碼通過SD卡的寫入指令填充到RAW 區。系統內核的加載是從RAW區直接讀取備份的內核代碼。
3 總結
本文所述的內核加載啟動引導方式已經過實踐驗證。它實現了目標板與宿主機間硬件線路連接的完全脫離,為系統調試者提供了便利,有效地提高了系統調試的效率;與此同時,它還能方便地實現系統的在線更新。可以說要進行系統啟動引導設計,此方法是一個不錯的選擇。最后說明一點,本文介紹的 BootLoader改進方法是在LCP2294芯片開發的LPC22EB06I實驗平臺上完成的。由于BootLoader與處理器的體系結構和具體嵌入式板級設備的配置密切相關,若要在其他的處理器芯片或平臺上采用上述方法,還需對BootLoader中與處理器體系結構相關的代碼作適當的修改。這部分不是本文探討的主要內容,所以在此不再詳述,若有讀者還想詳細了解相關內容,請查閱相關論文或書籍。
評論