• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      S5PV210微處理器的啟動(dòng)過程分析

      2017-07-11 08:21:43葛耿育
      電腦知識(shí)與技術(shù) 2017年15期
      關(guān)鍵詞:三星公司存儲(chǔ)設(shè)備代碼

      葛耿育

      摘要:嵌入式系統(tǒng)產(chǎn)品開發(fā)的整個(gè)過程按照先后順序包括:在給定的硬件模塊上移植boodoader(引導(dǎo)程序)、移植嵌入式操作系統(tǒng)內(nèi)核、移植根文件系統(tǒng)、編寫特定外圍設(shè)備的驅(qū)動(dòng)程序和編寫應(yīng)用程序。移植bootloader是所有軟件層面工作的第一步,需要考慮微處理器和外圍存儲(chǔ)器件的具體特征,有一定的難度,該文基于ARMCortexA8內(nèi)核的S5PV210微處理器,詳細(xì)分析其上電后從啟動(dòng)介質(zhì)中啟動(dòng)軟件系統(tǒng)的過程。

      關(guān)鍵詞:嵌入式系統(tǒng);引導(dǎo)程序;移植;$5PV210

      由于外設(shè)存儲(chǔ)器在技術(shù)上存在一定的缺陷,諸如某些存儲(chǔ)塊損壞或者受到強(qiáng)干擾發(fā)生位翻轉(zhuǎn),則可能導(dǎo)致系統(tǒng)無法正常啟動(dòng)。因此,支持多個(gè)啟動(dòng)介質(zhì)、啟動(dòng)順序和多級(jí)啟動(dòng)在嵌入式系統(tǒng)應(yīng)用中顯得尤為重要。目前主流的嵌入式微處理器都會(huì)支持多種啟動(dòng)介質(zhì),如NAND Flash(Movi NAND、OneNAND)、Nor Hash、eSSD、MMC和SD卡、eMMC和iNAND等,也有通過外設(shè)接口啟動(dòng),如以太網(wǎng)和USB接口。本文以S5PV210微處理的硬件結(jié)構(gòu)和內(nèi)部資源為參考,分析其啟動(dòng)過程詳細(xì)細(xì)節(jié),給嵌入式系統(tǒng)應(yīng)用開發(fā)者在引導(dǎo)程序b00tloader移植技術(shù)上提供一些參考方案。

      1S5PV210微處理器介紹

      相對(duì)于基于ARM9的$3C2440/2410微處理器從外部Nor.Hash或者NANDFlash啟動(dòng)而言,基于Cortex A8的S5PV210微處理器增加了64KB的內(nèi)部iROM和96KB的內(nèi)部iRAM,核心部件如圖1所示。所以三星公司將bootloader程序分為3個(gè)部分,第一個(gè)部分是將BL0內(nèi)置于iROM中,通過它來啟動(dòng)后面的引導(dǎo)程序。這種方式啟動(dòng)的優(yōu)點(diǎn)是:第一,減少啟動(dòng)費(fèi)用,第二,提高數(shù)據(jù)的可讀率,第三減少產(chǎn)品開發(fā)的產(chǎn)本。同時(shí)需要基本的CPU模塊外,還有通用內(nèi)存接口、SD/eMMC接口、NandHash接口、oneNand接口、eSSD接口和UART/USB接口,分別啟動(dòng)對(duì)應(yīng)接口相連接的啟動(dòng)存儲(chǔ)設(shè)備。S5PV210所有的存儲(chǔ)設(shè)備都支持通過MMC通道2的SD/MMC設(shè)備啟動(dòng),以防止第一啟動(dòng)設(shè)備出現(xiàn)故障后無法進(jìn)入系統(tǒng)。

      2S5PV210啟動(dòng)設(shè)備選擇

      S5PV210微處理器支持多種存儲(chǔ)設(shè)備的啟動(dòng),具體使用哪一種啟動(dòng)設(shè)備取決于封裝芯片外設(shè)的OM類型引腳的接線配置,該芯片有6個(gè)OM引腳,標(biāo)號(hào)分別為OM0、OM1、OM2、OM3、OM4、OM5,縮寫為OM[5:01,分別可以接電源正VDD和接地GND。參考數(shù)據(jù)手冊(cè)中的定義,如圖2和圖3所示,當(dāng)OM5引腳接VDD時(shí),選擇USB/UART作為第一啟動(dòng)方式,當(dāng)OM5引腳接GND時(shí),根據(jù)OM0到OM4的接線不同來決定具體選擇哪一種啟動(dòng)設(shè)備,例如OM[5:01=001101,代表選擇從SD/MMC性質(zhì)的存儲(chǔ)設(shè)備中啟動(dòng)。

      3S5PV210啟動(dòng)過程分析

      由于內(nèi)部SRAM的容量是96KB,啟動(dòng)部分為BL0、BLl和BL2三個(gè)步驟,因此三星公司推薦的S5PV210啟動(dòng)方式是bootloader必須在16KB至96KB的范圍內(nèi),其中BLl的最大容量是16KB,BL2的最大容量是96KB,啟動(dòng)過程如下所述:

      第一步,CPU上電后從內(nèi)部iROM中讀取三星公司內(nèi)置的代碼(BL0階段)內(nèi)置了64KB的iROM代碼,主要用來初始化CPU時(shí)鐘、關(guān)閉看門狗、初始化指令緩沖區(qū)、初始化堆棧區(qū)、初始化塊設(shè)備拷貝函數(shù)、復(fù)制BL1階段程序到內(nèi)部SRAM區(qū)、驗(yàn)證BL1的校驗(yàn)和(如果驗(yàn)證失敗,BL0將嘗試第二啟動(dòng)方式,即SD/MMC通道2)、檢查是否是安全啟動(dòng)模式(如果安全密鑰值已經(jīng)寫入處理器中,則屬于安全啟動(dòng)模式,驗(yàn)證BL1的完整性)以及最終跳轉(zhuǎn)到BL1的起始地址開始執(zhí)行新的程序。由于這一段iROM代碼是三星公司出廠前預(yù)置的,并不知道產(chǎn)品公司會(huì)用什么類型的外置Flash和DRAM,因此,該段代碼不負(fù)責(zé)初始化外圍設(shè)備,只能初始化SoC內(nèi)部的硬件。

      第二步,在SRAM中執(zhí)行BL1程序,加載剩下的bootloader代碼段(BL2)到剩下的SRAM空間,如果是安全啟動(dòng)模式,則BLl程序需要驗(yàn)證BL2的完整性。之后跳轉(zhuǎn)到SRAM中的BL2的起始地址執(zhí)行程序。

      第三步,BL2程序運(yùn)行時(shí)初始化DRAM,將啟動(dòng)設(shè)備中的嵌入式操作系統(tǒng)加載到DRAM中,跳轉(zhuǎn)到DRAM中OS的起始地址執(zhí)行。此時(shí),已經(jīng)初始化好整個(gè)系統(tǒng)的運(yùn)行環(huán)境,可以在系統(tǒng)中運(yùn)行其他應(yīng)用軟件。

      然而,實(shí)際項(xiàng)目中的bootloader大部分的代碼容量會(huì)大于96KB,例如常用的uboot啟動(dòng)引導(dǎo)程序?yàn)?00KB到200KB,此時(shí)三星公司推薦的啟動(dòng)過程和方案不可行。解決的方案是依照uboot等引導(dǎo)程序的實(shí)際情況而定,uboot可以邏輯上分為前16KB作為BL1,剩余部分作為BL2(大于80KB),啟動(dòng)過程如下:

      第一步,設(shè)備上電后執(zhí)行BL0代碼段,同三星公司推薦的一樣,這部分內(nèi)容在iROM中不可更改。

      第二步,從iROM中跳轉(zhuǎn)到iRAM中執(zhí)行uboot的前16KB代碼,即BL1。這部分代碼初始化DRAM,之后將整個(gè)uboot加載到DRAM中,重定位地址。此處也可以將uboot分成兩個(gè)物理部分BL1和uboot,分別指定不同的鏈接地址,啟動(dòng)時(shí)將兩個(gè)部分加載到不同的地址,如BLl加載到iRAM,uboot加載到DRAM中,則不需要重定位也可以正常啟動(dòng)。

      第三步,uboot在DRAM中運(yùn)行,然后加載啟動(dòng)設(shè)備中的0s到DRAM中運(yùn)行。整個(gè)過程結(jié)束,系統(tǒng)運(yùn)行環(huán)境完成。

      4總結(jié)

      本文所述的在嵌入式微處理器S5PV210為核心的嵌入式系統(tǒng)中上電啟動(dòng)過程分析,將bootloader引導(dǎo)程序中實(shí)現(xiàn)啟動(dòng)過程的方法與三星公司官方的啟動(dòng)方法作對(duì)比,后者具有不受啟動(dòng)程序容量限制的優(yōu)點(diǎn)。理解這兩者的區(qū)別有利于開發(fā)者參考官方數(shù)據(jù)手冊(cè)更好進(jìn)行嵌入式軟件程序的開發(fā)與維護(hù)。

      猜你喜歡
      三星公司存儲(chǔ)設(shè)備代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      三星召回蓋樂世NOTE7手機(jī)
      Windows 7下USB存儲(chǔ)設(shè)備接入痕跡的證據(jù)提取
      基于Flash芯片的新型存儲(chǔ)設(shè)備數(shù)據(jù)恢復(fù)技術(shù)研究
      用批處理管理計(jì)算機(jī)USB設(shè)備的使用
      防止USB接口泄密
      库车县| 青浦区| 民勤县| 大丰市| 张家界市| 二连浩特市| 永安市| 中阳县| 阜平县| 乌恰县| 惠州市| 惠水县| 栾城县| 陵川县| 蒲城县| 尼勒克县| 运城市| 宣城市| 拉萨市| 江阴市| 资源县| 临猗县| 丰顺县| 利川市| 维西| 米林县| 泸水县| 兰西县| 长宁县| 陆良县| 泸溪县| 奎屯市| 安丘市| 上杭县| 连平县| 军事| 册亨县| 诸暨市| 宜宾县| 永靖县| 浙江省|