S5PV210啓動過程詳解

7.1.啓動涉及的內存和外存 
(1)內存:SRAM即靜態內存,缺點是容量小、價格高,一般是幾十K或幾百K;優點是不需要軟件初始化直接上電就能使用。DRAM即動態內存,優點是容量大、價格低;缺點是上電後不能直接使用,需要軟件初始化後纔可以使用。 
(2)單片機:內存需求量小,而且希望開發儘量簡單,適合全部使用SRAM;嵌入式系統:內存需求量大,而且沒有NorFlash等可啓動介質;PC機:內存需求量大,而且軟件複雜,不在乎DRAM的初始化開銷,適合全部用DRAM。 
(3)外存:NorFlash的缺點是容量小、價格高;優點是可以和CPU直接總線式相連,CPU上電後可以直接讀取,所以一般做啓動介質。NandFlash的優點是容量大、價格低;缺點是不能總線式訪問,即不能一上電CPU直接讀取,需要CPU先運行一些初始化軟件,然後通過時序接口讀寫。 
(4)PC機:很小容量的BIOS(NorFlash)+很大容量的硬盤(類似於NandFlash)+大容量的DRAM;單片機:很小容量的NorFlash+很小容量的SRAM;嵌入式系統:因爲NorFlash很貴,現在的嵌入式系統傾向於不用NorFlash而是使用:外接大容量的Nand+外接大容量的DRAM+SoC內置SRAM。


7.2.S5PV210啓動方式 
(1)210內置了96KB大小的SRAM(叫iRAM)和64KB大小的NorFlash(叫iROM)。 
(2)第1步:CPU上電後先從內部IROM中讀取預先設置的代碼(BL0)到IRAM中執行。該段IROM代碼首先執行基本的初始化(CPU時鐘、關看門狗、初始化塊設備拷貝函數…)(該段IROM代碼是三星出廠前設置的,三星也不知道我們板子上將來接的是什麼樣的DRAM和NanFlash,因此該段IROM代碼不能負責初始化外接的DRAM和NandFlash的,則該段IROM代碼只能初始化SoC內部的東西);然後該段代碼會判斷我們選擇的啓動模式(我們通過硬件跳線可更改板子的啓動模式),然後從相應的外部存儲器去讀取第1部分啓動代碼(BL1,大小爲16KB)到IRAM。 
(3)第2步:從IRAM中去運行讀取來的BL1(16KB),BL1負責初始化NandFlash,然後將BL2(剩餘的80KB)讀取到IRAM,然後運行。 
(4)第3步:從IRAM中運行BL2,然後BL2負責初始化DRAM,然後將OS讀取到DRAM中,然後啓動OS,啓動過程結束。


7.3.S5PV210啓動過程概述 
(1)210內部有iROM和iRAM,因此啓動時分兩個階段:內部啓動階段和外部啓動階段。對於內部啓動階段各種S5PV210的開發板都是相同的,對於外部啓動階段,不同開發板會有不同。啓動過程主要參考”S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf”。 
(2)S5PV210出廠時內置了64KB的iROM和96KB的iRAM。iROM中預先內置燒錄了一些代碼(稱爲iROM代碼),iRAM屬於SRAM(不需軟件初始化,上電即可使用)。210啓動時首先在內部運行iROM代碼,然後由iROM代碼開啓外部啓動流程。設計iROM和iRAM的目的是爲了支持多種外部設備啓動。 
(3)Second boot support:When 1 st boot mode fails, SD/MMC boot will be tried through SD/MMC channel 2 with 4-bit data 
當第1啓動模式失敗時,SD/MMC卡啓動模式下將會從SD/MMC2通道嘗試再次啓動。這種二級啓動是一種冗餘設計。SoC中第1啓動介質故障而導致不能啓動時,可以從備用啓動介質啓動。我們做裸機實驗時從SD2啓動就是利用了這一設計特性。 
(4)使用iROM啓動的好處:降低BOM成本。因爲iROM可以使SOC從各種外設啓動,因此可以省下一塊boot rom(專門用來啓動的ROM,一般是norflash);支持各種校驗類型的nand;可以在不使用編程器的情況下使用一種外部存儲器(譬如SD卡)運行程序來給另一種外部存儲器(譬如NandFlash)編程燒錄。這樣生產時就不用額外購買專用編程器了,降低了量產成本。 
(5)BL0做了什麼:關看門狗;初始化指令cache;初始化棧;初始化堆;初始化塊設備複製函數device copy function;設置SoC時鐘系統;複製BL1到內部iRAM(16KB);檢查BL1的校驗和;跳轉到BL1去執行。 
(6)S5PV210的所有啓動方式:先1st啓動,通過OMpin選擇啓動介質;再2nd啓動,從SD2啓動;再Uart啓動;再USB啓動(見圖1和圖2和圖3)。


7.4.在開發板上選擇不同的啓動方式 
(1)SoC通過OMpin來識別外部啓動介質,GEC210開發板中的NandFlash啓動方式是first啓動中選擇啓動介質,而SD卡啓動方式是second啓動中的MMC通道2啓動的,即GEC210上的SD卡是接在MMC通道2上的(見圖4和圖5)。 
(2)在GEC210開發板中可通過撥碼開發選擇從NandFlash啓動或從SD卡啓動兩種啓動方式。


這裏寫圖片描述


這裏寫圖片描述


這裏寫圖片描述


這裏寫圖片描述


這裏寫圖片描述

發佈了60 篇原創文章 · 獲贊 42 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章