一種在U-BOOT中嵌入千兆網(wǎng)絡(luò)功能的方法
引言
U-BOOT是德國(guó)DENX小組開(kāi)發(fā)的用于多種嵌入式微處理器的引導(dǎo)加載程序,它是系統(tǒng)上電后運(yùn)行的第一段程序代碼,用于初始化目標(biāo)板硬件,為嵌入式操作系統(tǒng)提供目標(biāo)板硬件配置信息,并裝載、引導(dǎo)和運(yùn)行嵌入式操作系統(tǒng)等。U—BooT支持網(wǎng)絡(luò)功能,在下載操作系統(tǒng)內(nèi)核和大的文件系統(tǒng)時(shí),比其它不支持網(wǎng)絡(luò)的引導(dǎo)加載程序速度更快、更方便。目前U—BOOT僅支持10M/100M的網(wǎng)絡(luò)功能,隨著科學(xué)技術(shù)發(fā)展,千兆網(wǎng)絡(luò)功能必將大量應(yīng)用在嵌入式系統(tǒng)中。本文介紹了一種讓U—BOOT支持千兆網(wǎng)絡(luò)功能的方法,可以使U—BOOT功能更加強(qiáng)大,使用更加方便。
U—BOOT簡(jiǎn)介
U—BOOT的全稱(chēng)是Universal Boot Loader,它遵循GPL條款的開(kāi)放源碼項(xiàng)目,支持多種處理器,如ARM、PowerPC、MIPS等,也支持
U-BOOT包含兩種不同的工作模式:?jiǎn)?dòng)加載模式和下載模式。啟動(dòng)加載模式也稱(chēng)為自主模式,即U—BOOT從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAM中運(yùn)行,這種模式是U—BOOT的正常工作模式。下載模式就是在開(kāi)發(fā)或生產(chǎn)過(guò)程中,U—BOOT通過(guò)網(wǎng)絡(luò)連接等通信手段從主機(jī)下載操作系統(tǒng)內(nèi)核和文件系統(tǒng)等到目標(biāo)機(jī)的RAM中,然后再寫(xiě)到目標(biāo)機(jī)上的FLASH類(lèi)固態(tài)存儲(chǔ)設(shè)備中。U—BOOT允許用戶在這兩種工作模式間進(jìn)行切換,系統(tǒng)啟動(dòng)時(shí)會(huì)延時(shí)等待一段時(shí)間,如果這時(shí)用戶沒(méi)有按鍵,U—BOOT就默認(rèn)進(jìn)入啟動(dòng)加載模式。
硬件平臺(tái)
本文使用的硬件平臺(tái)是基于S3C2440A的開(kāi)發(fā)板和基于非PCI千兆以太網(wǎng)控制芯片AX88180的嵌入式網(wǎng)卡,如圖2所示。S3C2440A是ARM920T核的16/32位RISC嵌入式微處理器,運(yùn)行頻率高達(dá)500MHz,開(kāi)發(fā)板上有64M NAND閃存、64M SDRAM;網(wǎng)卡由MAC芯片AX88180、PHY芯片88E1111、RJ45等電路組成;S3C2440A目標(biāo)板與網(wǎng)卡之間采用目標(biāo)板32位擴(kuò)展總線相連接,在產(chǎn)品設(shè)計(jì)時(shí)也可以將這兩部分設(shè)計(jì)在同一塊板上。
評(píng)論