溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Cortex A8系列S5PV210的啟動概述

發(fā)布時間:2020-07-09 15:44:48 來源:網(wǎng)絡(luò) 閱讀:2050 作者:WuWeiZhu 欄目:系統(tǒng)運(yùn)維

1、硬件特性:
(1)內(nèi)存:內(nèi)存有兩種類型,SRAM(Static RAM)和DRAM(Dynamic RAM),分別稱為靜態(tài)內(nèi)存和動態(tài)內(nèi)存。
SRAM:靜態(tài)內(nèi)存,特點是容量小、價格高。優(yōu)點是不需要軟件初始化就可以直接上電使用,讀取執(zhí)行內(nèi)部存儲的信息。
DRAM:動態(tài)內(nèi)存,特點是容量大,價格便宜。缺點是上電后不能直接使用,需要經(jīng)過軟件初始化后才可以使用。
(2)外存:外存很多類型,這里只簡單的說兩種,NandFlash和NorFlash。
NorFlash:特點是容量小,價格高。優(yōu)點是可以和CPU直接總線相連,CPU上電后就可以直接讀取存取在里面的代碼,一般用作啟動介質(zhì)。
NandFlash:特點是容量大,價格便宜。缺點是不能直接總線式訪問,即不能上電后直接讀取里面的代碼來執(zhí)行,需要CPU進(jìn)行軟件初始化,然后通過時序接口的方式來讀寫執(zhí)行。
2、S5PV210芯片的硬件特性:
Cortex A8系列S5PV210的啟動概述
上面的截圖來自sumsung S5PV210的數(shù)據(jù)手冊。
S5PV210微處理器是基于Cortex A8的,SoC內(nèi)內(nèi)置了一個64KB的IROM(NorFlash類型),一個96KB的SRAM,還有各種類型的控制器,包含:SDRAM控制器、4位/8位的高速SD/MMC控制器、NandFlash控制器、OneNand控制器、eSSD控制器、UART/USB控制器。
S5PV210芯片內(nèi)置了多種類型的控制器,所以S5PV210支持多種方式(以上內(nèi)置控制器)的啟動,只需將OM引腳的撥碼開關(guān)調(diào)至相應(yīng)的類型,即可以相應(yīng)的方式啟動。S5PV210支持的啟動方式如下圖:
Cortex A8系列S5PV210的啟動概述
3、OM引腳配置:
Cortex A8系列S5PV210的啟動概述
4、現(xiàn)在,我們來看看S5PV210的啟動過程:
Cortex A8系列S5PV210的啟動概述
Cortex A8系列S5PV210的啟動概述
(1)CPU上電后,先從S5PV210內(nèi)部的IROM中讀取預(yù)先設(shè)置的代碼(BL0)(這段代碼是芯片出廠時就內(nèi)置的,因為不知道將來外部設(shè)備接的是什么,所以只是對芯片內(nèi)部進(jìn)行簡單的初始化),然后執(zhí)行。這段代碼BL0做了什么呢?如下圖:
Cortex A8系列S5PV210的啟動概述
BL0首先關(guān)閉了看門口定時器,然后初始化指令cache(指令緩存)、初始化棧跟堆、初始化塊設(shè)備復(fù)制函數(shù)和初始化系統(tǒng)時鐘和鎖相環(huán)。下一步,BL0根據(jù)我們在板子上OM引腳的跳線設(shè)置,使用塊設(shè)備復(fù)制函數(shù)從相應(yīng)的外部存儲設(shè)備中復(fù)制一段代碼(BL1,這段代碼最大不能超過16KB)到SoC內(nèi)部的SRAM中,然后檢驗其校驗和,若是校驗和正確,則跳轉(zhuǎn)至BL1這段代碼在SRAM中的起始地址去執(zhí)行。若是檢驗和不正確,則跳轉(zhuǎn)到第二啟動方式啟動,接步驟5。
(2)BL1這段代碼繼續(xù)從外部存儲設(shè)備中讀取剩余的啟動配置代碼BL2(這段代碼最多不能超過80KB,因為SRAM最大96KB,BL1最大16KB),然后跳轉(zhuǎn)到BL2這段代碼去執(zhí)行。
(3)BL2這段代碼首先對內(nèi)存DRAM進(jìn)行初始化配置(DRAM上電后不能直接使用,需要經(jīng)過初始化后才能),然后再將外部存儲設(shè)備(外存)中存儲的關(guān)于OS(操作系統(tǒng))初始化的代碼讀至DRAM(內(nèi)存)中去執(zhí)行操作系統(tǒng)的初始化,初始化完成后,就可以在內(nèi)存中啟動操作系統(tǒng)并進(jìn)行操作了。ps:內(nèi)存說:終于輪到我上場了,哈哈。
(4)這里的外部存儲設(shè)備(外存)也是要經(jīng)過初始化才能使用的,這里應(yīng)該是在BL0使用塊設(shè)備函數(shù)從外存復(fù)制BL1時執(zhí)行了初始化。不然就不可以從外存中讀取信息。
(5)上面說的過程是在第一啟動方式成功的情況下的流程,如果第一啟動方式不成功,那么S5PV210就會跳轉(zhuǎn)到第二啟動方式去啟動,第一啟動方式是可以通過OM引腳來選擇從哪個外存啟動的,然而第二啟動方式則是固定從SD卡的通道2啟動。具體的實現(xiàn)方式與上面的第一啟動方式差不多,只不過外存介質(zhì)換了,依舊是從步驟2開始執(zhí)行。如圖:
Cortex A8系列S5PV210的啟動概述
(6)如果第二啟動方式即SD卡通道2啟動失敗,則跳轉(zhuǎn)至UART啟動,UART失敗,則跳轉(zhuǎn)至USB方式啟動,再不行,GG。很好,已經(jīng)是一塊磚頭了。

5、疑惑:
(1)為啥要將BL1和BL2分開來在SRAM中執(zhí)行?96KB不是剛好包含了BL1和BL2了嗎?
我聽一位老師說是因為BL0對于外存的初始化力度不夠,因為本身IROM也就64KB,沒辦法做太多的事。只能初始化讀取外存的BL1部分。然后通過BL1繼續(xù)初始化外存,再讀取BL2來執(zhí)行。
(2)BL1固定的16KB?BL2固定的80KB?
Cortex A8系列S5PV210的啟動概述

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI