學(xué)習(xí)Exynos4412啟動(dòng)流程前,我們先看看三星4412芯片啟動(dòng)框圖:
我們從圖中可以看到4412內(nèi)部有64K的ROM和256K SRAM,在ROM中已經(jīng)固化好了一段代碼,當(dāng)硬件上電后首先運(yùn)行的就是這段代碼,這段代碼三星起名為BLO(iROM BOOT 代碼)。其作用是初始化SRAM,并將eMMC中256k代碼拷貝到SRAM中,進(jìn)行初始化DRAM。在圖中我們很清楚看到這一個(gè)運(yùn)行過程。
1、在芯片的iROM中已經(jīng)固化一個(gè)代碼,當(dāng)硬件上電后就讀取OM電平從而確定硬件設(shè)置的啟動(dòng)模式:0110為從eMMC啟動(dòng),1000位SD卡啟動(dòng);
2、把已經(jīng)設(shè)置啟動(dòng)存儲(chǔ)單元代碼復(fù)制到內(nèi)部RAM中并跳轉(zhuǎn)到RAM運(yùn)行;
3、運(yùn)行OS;
一、iROM
iROM把啟動(dòng)設(shè)備上特定位置處的程序讀入片內(nèi)存 (iRAM) ,并執(zhí)行它。這個(gè)程序被稱為 BL1(Bootloader 1) ,BL1 是三星公司提供的,無源碼。
BL1又把啟動(dòng)設(shè)備上另一個(gè)特定位置處的程序讀入片內(nèi)內(nèi)存,并執(zhí)行它。這個(gè)被稱為 BL2(Bootloader 2) ,是我們編寫的源碼。
下圖是 iROM 啟動(dòng)流程圖:
由上圖可以看出,首先關(guān)閉看門狗,關(guān)閉中斷及MMU,關(guān)閉數(shù)據(jù)緩存,打開指令緩存,清除TLB,然后將其他核進(jìn)入IDLE模式,只留CPU0,這里有了第一個(gè)跳轉(zhuǎn)分支,IROM判斷當(dāng)前啟動(dòng)模式,是冷啟動(dòng)還是喚醒,如果是喚醒模式,那么就是直接跳轉(zhuǎn)到BL1,在BL1里面我們會(huì)再次判斷是否是喚醒模式,如果是就直接跳轉(zhuǎn)到喚醒函數(shù),一般都是linux內(nèi)核的喚醒句柄。當(dāng)然在裸機(jī)里都是冷啟動(dòng)的,休眠喚醒一般是不需要關(guān)注的,當(dāng)然如果你的裸機(jī)程序需要支持休眠喚醒,就需要增加相應(yīng)的代碼了。
繼續(xù)分析,設(shè)置IRQ及SVC模式的棧空間,這個(gè)時(shí)間,棧地址是其內(nèi)部的一片IRAM,這小片RAM是IROM運(yùn)行的外部隨機(jī)存儲(chǔ)器,沒有這片小內(nèi)存,IROM是無法運(yùn)行的。接下了就是初始化IROM里面所使用的各種變量,初始化只讀數(shù)據(jù)段,未初始化數(shù)據(jù)段清零,導(dǎo)出部分核心函數(shù),這個(gè)函數(shù)可以在BL1中使用,獲取當(dāng)前復(fù)位的狀態(tài),設(shè)置系統(tǒng)時(shí)鐘分頻,獲取OM管腳配置模式,這里可以從多種外設(shè)啟動(dòng),具體啟動(dòng)模式如下表:
簡(jiǎn)單地說,iROM就是先設(shè)置程序運(yùn)行環(huán)境 (比如關(guān)看門狗、關(guān)中斷、關(guān)MMU 、設(shè)置棧 、設(shè)置棧 、啟動(dòng) PLL 等 );然后根據(jù)OM引腳確定啟動(dòng)設(shè)備 (NAND Flash/SD 卡/其他 ),把 BL1 從里面讀出存入iRAM;最后啟動(dòng) BL1 。
二、BL1
下圖是 BL1 的啟動(dòng)過程
單地說,也是設(shè)置程序運(yùn)行環(huán)境(初始化中斷、設(shè)置棧等 );然后從啟動(dòng)設(shè)備上把 BL2讀入iRAM;最后啟動(dòng)它。
三、SD卡作為啟動(dòng)方式
BL1 位于SD卡偏移地址 512字節(jié)處(即從第一個(gè)扇區(qū)開始,前面有一個(gè)扇區(qū)保留,每個(gè)扇區(qū)512字節(jié),為什么保留第一個(gè)扇區(qū),如果有同學(xué)對(duì)DOS分區(qū)表有過研究,就能明白其中的道理了,第一個(gè)扇區(qū)是分區(qū)表的配置區(qū)),iROM從這個(gè)位置讀入8K 字節(jié)的數(shù)據(jù),存在iRAM地址 0x02021400位置處。 所以 BL1不能大于8K 。
IROM計(jì)算校驗(yàn)和且驗(yàn)證通過后并解密BL1成功后就可以跳轉(zhuǎn)到BL1了,至此IROM已執(zhí)行完備,權(quán)限已交由BL1了,補(bǔ)充說明一下,解密BL1是加密模式啟動(dòng)時(shí)才需要的,非加密模式啟動(dòng)是無需解密BL1的。
BL2 位于 SD 卡偏移地址 (512 +8K)字節(jié)處,BL1從這個(gè)位置讀入14K 字節(jié)的數(shù)據(jù),存在iRAM 地址 0x02023400 處。 BL2 不能大于(14K – 4) 字節(jié),最后 4字節(jié)用于存放較驗(yàn)碼(在匯編流水燈試驗(yàn)中我們用mkbl2工具制作的BL2,其中mkbl2工具最主要的作用就是計(jì)算出校驗(yàn)碼)。
如果我們的程序大于 (14K – 4) 字節(jié),那么需要截取前面 (14K – 4) 字節(jié)用來制作BL2并燒入SD卡偏移地址 (512 +8K) 字節(jié)處。當(dāng)BL2啟動(dòng)后,由它來將存放在SD卡另外位置的、完整程序讀入內(nèi)存。
上一篇:exynos 4412 時(shí)鐘配置
下一篇:Exynos4412 內(nèi)核移植(七)—— 內(nèi)核相關(guān)知識(shí)補(bǔ)充
推薦閱讀
史海拾趣
在追求經(jīng)濟(jì)效益的同時(shí),晨晶電子也積極履行社會(huì)責(zé)任,致力于綠色環(huán)保事業(yè)。公司通過了ISO14001環(huán)境管理體系認(rèn)證,嚴(yán)格遵守環(huán)保法規(guī),實(shí)施清潔生產(chǎn)。同時(shí),晨晶電子還積極推廣環(huán)保理念,倡導(dǎo)綠色消費(fèi),為保護(hù)環(huán)境、促進(jìn)可持續(xù)發(fā)展做出了積極貢獻(xiàn)。
這五個(gè)故事不僅展示了晨晶電子在電子行業(yè)中的發(fā)展歷程和成就,也體現(xiàn)了其不斷創(chuàng)新、追求卓越的企業(yè)精神。在未來的發(fā)展中,晨晶電子將繼續(xù)秉承這一精神,努力成為電子行業(yè)的佼佼者。
在成都啟臣微電子股份有限公司成立之初,公司就致力于集成電路及系統(tǒng)產(chǎn)品的設(shè)計(jì)、生產(chǎn)與銷售。面對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng),啟臣微堅(jiān)持創(chuàng)新,投入大量研發(fā)資源,終于在高性能功率管理集成電路領(lǐng)域取得了重大技術(shù)突破。這一突破不僅提升了公司的市場(chǎng)競(jìng)爭(zhēng)力,也為公司贏得了業(yè)界的廣泛認(rèn)可。
51單片機(jī)實(shí)驗(yàn)班各模塊的應(yīng)用 我們老師設(shè)計(jì)的一塊51實(shí)驗(yàn)開發(fā)板,很實(shí)用!對(duì)于單片機(jī)入門者非常有用。與大家分享!包括流水燈、數(shù)碼管、液晶、蜂鳴器、鍵盤、AD轉(zhuǎn)換等模塊。… 查看全部問答∨ |
|
求重慶本地技術(shù)人員解決DS18B20跳變的問題,有報(bào)酬:) 不要用數(shù)字濾波,這個(gè)我已經(jīng)做了。不管是換芯片,還是調(diào)整時(shí)序,都可以。 有意思的請(qǐng)聯(lián)系我,我在沙坪壩。QQ:3487317 TEL:13883677969… 查看全部問答∨ |
也談技術(shù)人員發(fā)展方向及嵌入式學(xué)習(xí) 關(guān)于技術(shù)人員發(fā)展方向的問題相信是大家所關(guān)注的問題,現(xiàn)在談?wù)勎业南敕? 對(duì)于技術(shù)人員可以選擇以下幾個(gè)方向 一, 繼續(xù)做技術(shù), 做技術(shù) ...… 查看全部問答∨ |
分散加載中的疑問(這個(gè)應(yīng)該知道的比較多了吧) 這樣的. 看了LINK GUIDE,還是對(duì)分散加載有些疑問 比如一個(gè)scf如下 LREGION_test 0x0 { EREGION_1 0x0 0x1000 { boot.o(INIT,First) &n ...… 查看全部問答∨ |
[菇房培養(yǎng)應(yīng)用方案] [食用菌養(yǎng)殖現(xiàn)代化技術(shù)] [蘑菇房工廠化技術(shù)方案書] 溫度因素溫度是環(huán)境條件的諸多因素中最為活躍的因素,也是對(duì)食用菌菌種生產(chǎn)、生產(chǎn)和使用影響作用最大的因素。任何種類、任何品種菌絲生長(zhǎng)都有其生長(zhǎng)溫度范圍 ...… 查看全部問答∨ |
replyreload += \',\' + 1653369; DACs, DDSs, PLLs, and Clock Distribution 由于本份材料是英文版的,有需要的請(qǐng)回復(fù)下載,分為四個(gè)帖子發(fā)布。目錄如下 Timson,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù) … 查看全部問答∨ |
|
路徑什么的應(yīng)該都設(shè)置好了,編譯時(shí)也沒問題,可是右鍵使用“go to define xxx”的時(shí)候就出現(xiàn)[backcolor=rgba(255, 255, 255, 0.796875)]Source Browser: \'xxx\' - undefined Definition/Reference !這個(gè)對(duì)話框!不知道是怎么回事,還望各位賜教! ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計(jì)
- 小型傾轉(zhuǎn)旋翼機(jī)的無刷直流電機(jī)驅(qū)動(dòng)器設(shè)計(jì)
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)
- 基于GPS自動(dòng)授時(shí)的無線智能控制器的設(shè)計(jì)
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 超燃!人形機(jī)器人格斗賽,這隊(duì)奪冠!
- 數(shù)據(jù)中心電力架構(gòu)革命!英偉達(dá)強(qiáng)推800V HVDC,2年后量產(chǎn)
- BLDC 電機(jī)的控制原理
- 這個(gè)超強(qiáng)AI模型!開始不聽人類指令,拒絕關(guān)閉!
- Samtec應(yīng)用分享 | 適用于最新服務(wù)器應(yīng)用的連接器解決方案
- AI推理需求井噴!英偉達(dá)Q1營(yíng)收大漲,H20禁售難擋增長(zhǎng)步伐
- 不同于HBM,這種創(chuàng)新的堆疊式DRAM,功耗有望降低50%
- 如何進(jìn)行CAN通信設(shè)備的批量老化測(cè)試
- CAN FD的波特率到底能跑多快?
- IIoT智能化過程中繞不開的那些邊緣節(jié)點(diǎn)通信系統(tǒng)設(shè)計(jì)要點(diǎn)
- 家電新風(fēng)尚,PI開啟您的家電新生活!下載產(chǎn)品資料答題贏好禮!
- 看是德科技X8711A 物聯(lián)網(wǎng)設(shè)備功能測(cè)試解決方案,答題贏好禮
- 新年測(cè)評(píng)活動(dòng)!ST NUCLEO-H743ZI“佩奇”待測(cè),快來申請(qǐng)年后第一波測(cè)評(píng)!
- 搶樓有禮|英飛凌天貓店有驚喜
- 溫故而知新——開關(guān)電源經(jīng)典課程學(xué)習(xí)
- 智能云鎖哪家強(qiáng)?TI市場(chǎng)和技術(shù)大咖邀你1月16日10:00直播間暢聊
- 一大波MCU開發(fā)板正在靠近,速來——瑞薩電子設(shè)計(jì)大賽(2015)
- 免費(fèi)申請(qǐng)|ATmega4809 Curiosity Nano
- 【TI 教室】學(xué)電源,曬成績(jī),挖樓有禮!
- 蘋果警告iPhone搶奪者:手機(jī)無法重置,并可追蹤定位
- iPhone中國(guó)大降價(jià)引關(guān)注 外媒說出根本原因
- HTC新機(jī)解密:挖孔設(shè)計(jì) 驍龍665加持
- 三星Galaxy Fold 2解密:雙屏+驍龍865 8月發(fā)布
- 一加8/Pro已經(jīng)全系支持《和平精英》90Hz高幀率模式
- 特斯拉等敦促FTC在高通反壟斷案敗訴后,重尋上訴路
- 迦美信芯倪文海:集成電路產(chǎn)業(yè)新政的意義-半導(dǎo)體是抓手
- 蘋果助力美迪凱業(yè)績(jī)暴增背后:部分產(chǎn)品單價(jià)暴跌
- 紅米10X成本曝光:實(shí)力與性價(jià)比兼具
- 集微指數(shù)漲0.05%,注冊(cè)制首日創(chuàng)業(yè)板指大漲約2%