ARM9的bootloader---vivi
命令
功能
Load
把二進(jìn)制文件載入Flash或RAM
Part
操作MTD分區(qū)信息。顯示、增加、刪除、復(fù)位、保存MTD分區(qū)
Param
設(shè)置參數(shù)
Boot
啟動(dòng)系統(tǒng)
Flash
管理Flash,如刪除Flash的數(shù)據(jù)
vivi代碼分析
vivi的代碼包括arch,init,lib,drivers和include等幾個(gè)目錄,共200多條文件。
Vivi主要包括下面幾個(gè)目錄:
arch:此目錄包括了所有vivi支持的目標(biāo)板的子目錄,例如s3c2410目錄。
drivers:其中包括了引導(dǎo)內(nèi)核需要的設(shè)備的驅(qū)動(dòng)程序(MTD和串口)。MTD目錄下分map、nand和nor三個(gè)目錄。
init:這個(gè)目錄只有main.c和version.c兩個(gè)文件。和普通的C程序一樣,vivi將從main函數(shù)開始執(zhí)行。
lib:一些平臺(tái)公共的接口代碼,比如time.c里的udelay()和mdelay()。
include:頭文件的公共目錄,其中的s3c2410.h定義了這塊處理器的一些寄存器。Platform/smdk2410.h定義了與開發(fā)板相關(guān)的資源配置參數(shù),我們往往只需要修改這個(gè)文件就可以配置目標(biāo)板的參數(shù),如波特率、引導(dǎo)參數(shù)、物理內(nèi)存映射等。
評(píng)論