(2) System Loader
該部分為傳統(tǒng)意義上的Boot Loader過(guò)程,完成硬件環(huán)境相關(guān)設(shè)置及初始化,并將操作系統(tǒng)載入到RAM中運(yùn)行。需要注意的是,MPU本身的中斷向量表須載入到內(nèi)部SRAM中,其他操作系統(tǒng)部分可以載入到外部SDRAM中。
由于OMAP平臺(tái)為雙核心結(jié)構(gòu),因此 System Loader除了需要載入MPU系統(tǒng)本身之外,還需要配置DSP的載入及啟動(dòng)過(guò)程。DSP有3種啟動(dòng)方法:Flash引導(dǎo)方式與ARM載入方式,參考文獻(xiàn)[2]對(duì)這兩種方式進(jìn)行了對(duì)比分析。本設(shè)計(jì)采用ARM載入方式,這樣可以通過(guò)ARM動(dòng)態(tài)配置DSP部分的代碼,控制DSP核心的處理流程。與參考文獻(xiàn)[2]所不同的是,本方法中DSP程序采用與MPU操作系統(tǒng)相同的方式存儲(chǔ),也存入Flash中,而不是作為常量數(shù)組編入Boot Loader程序中,這種方式較參考文獻(xiàn)[2]中的方法更加便于管理,單獨(dú)對(duì)DSP程序進(jìn)行升級(jí)也更加方便,而且減小了System Loader的程序長(zhǎng)度,更有利于多級(jí)啟動(dòng)方式。
因?yàn)镺MAP本身的GPIO(MUPIO)有限,所以大多設(shè)計(jì)都要采用FPGA作為外圍擴(kuò)展控制器,用來(lái)擴(kuò)展更多的控制端口以及通信端口。一般FPGA本身無(wú)法存儲(chǔ)程序,其程序存儲(chǔ)在片外ROM中,F(xiàn)PGA上電之后可以通過(guò)多種方式自行加載到ROM中運(yùn)行。本設(shè)計(jì)通過(guò)MPU加載FPGA程序,并將FPGA固件程序也存儲(chǔ)于同一Flash中,這樣省去了一片F(xiàn)PGA專(zhuān)用ROM,既方便代碼管理,又降低了硬件成本和設(shè)計(jì)復(fù)雜度。以XILINX公司的XC2S系列FPGA為例,其加載程序時(shí)可采用串行加載模式,選擇FPGA為從模式,將OMAP本身的MCBSP配置為SPI主模式,工作于時(shí)鐘停止模式,包含一個(gè)時(shí)鐘周期延時(shí),輸出時(shí)鐘信號(hào)高有效,采用幀同步模式,每個(gè)數(shù)據(jù)幀8 bit。給FPGA載入程序時(shí),要將存儲(chǔ)于Flash中的FPGA程序代碼讀出,由于XILINX開(kāi)發(fā)工具ISE輸出的HEX文件以字節(jié)(8 bit)為單位,而Flash中存儲(chǔ)的內(nèi)容以雙字(32 bit)為單位(由ARM指令長(zhǎng)度而定),因而從Flash中讀出32 bit的數(shù)據(jù)之后需要按照從高到低的字節(jié)順序發(fā)送。而且,ISE的HEX文件每字節(jié)bit排列順序與MCBSP的傳輸順序正好相反,因此每個(gè)字節(jié)內(nèi)部需要將bit反向重排。
System Loader流程如圖2所示,啟動(dòng)順序與本小節(jié)所述順序正好相反,這是因?yàn)镕PGA一般多用于進(jìn)行硬件設(shè)備的控制,所以需要最先啟動(dòng);而DSP由于其自身特點(diǎn),多用于數(shù)據(jù)處理工作,作為MPU的協(xié)處理器使用,因此需要在MPU操作系統(tǒng)啟動(dòng)之前做好準(zhǔn)備。
[!--empirenews.page--] (3)Flasher
Flasher過(guò)程主要負(fù)責(zé)向Flash中燒寫(xiě)編譯好的程序目標(biāo)碼,主要包括Boot Loader、MPU、DSP、FPGA等部分。采用RS232串行端口與主機(jī)相連,實(shí)現(xiàn)程序目標(biāo)碼的下載。傳輸協(xié)議采用大多數(shù)編譯器都支持的Intel Hex格式[5]。Intel Hex格式采用ASCII字符表示方式,這樣程序目標(biāo)碼的每個(gè)字節(jié)需要用2個(gè)ASCII字符來(lái)表示,包含冗余信息較大,而且Intel Hex格式僅含目標(biāo)碼的地址信息與具體內(nèi)容,而無(wú)法區(qū)分目標(biāo)碼的類(lèi)別,因而需要對(duì)Intel Hex進(jìn)行擴(kuò)展,以降低冗余并支持更多的操作。擴(kuò)展的Hex不使用ASCII字符,而直接使用原數(shù)據(jù)格式,這樣可以降低一半數(shù)據(jù)量。為了與Intel Hex格式有所區(qū)分,采用“;”作為前綴標(biāo)識(shí),格式如表1所示。同時(shí)對(duì)數(shù)據(jù)類(lèi)型進(jìn)一步擴(kuò)展,用以區(qū)分各種目標(biāo)碼類(lèi)別,如表2所示。
可以看出,表2中僅包括擦除各種類(lèi)型目標(biāo)碼的指令,而沒(méi)有包含寫(xiě)入目標(biāo)碼時(shí)區(qū)分類(lèi)別的具體指令,這是因?yàn)閷?xiě)入時(shí)各種不同類(lèi)型的目標(biāo)碼可以直接通過(guò)地址來(lái)區(qū)分,每種類(lèi)型目標(biāo)碼都有自己?jiǎn)为?dú)的地址段,相互之間沒(méi)有交叉。Flasher流程如圖3所示,通過(guò)解析Hex記錄格式,來(lái)判斷命令類(lèi)型,從而進(jìn)行相應(yīng)的操作。其中校驗(yàn)?zāi)J接糜隍?yàn)證Flash中所存儲(chǔ)的程序代碼是否與串行端口上收到的數(shù)據(jù)一致。所有程序更新結(jié)束之后,通過(guò)重新啟動(dòng)命令復(fù)位OMAP芯片,使整個(gè)系統(tǒng)重新啟動(dòng)。
3 拷貝程序耗時(shí)對(duì)比測(cè)試
采用Intel公司RD48F3000P0ZBQ0 Flash存儲(chǔ)器以及三星K4M56163PG移動(dòng)版SDRAM與OMAP5910相連,組成OMAP5910運(yùn)行所需的最小系統(tǒng),OMAP運(yùn)行頻率144 MHz。分別采用傳統(tǒng)啟動(dòng)方式(程序在Flash中運(yùn)行)以及本文所述的啟動(dòng)方式(程序在RAM中運(yùn)行)從Flash中拷貝相同長(zhǎng)度的數(shù)據(jù)到SDRAM中,測(cè)試其耗時(shí)。每次拷貝數(shù)據(jù)量選取64 KB~8 192 KB,每種數(shù)據(jù)量每種方式測(cè)試5次,具體時(shí)間如表3所示,其中表3(a)為程序在RAM中運(yùn)行時(shí)的耗時(shí),表3(b)為程序在Flash中運(yùn)行時(shí)的耗時(shí)。由表中數(shù)據(jù)對(duì)比可以看出,拷貝數(shù)據(jù)量較大時(shí),本文中所述的RAM拷貝方式優(yōu)勢(shì)比較明顯,有大約20%的提高,對(duì)于目前的嵌入式操作系統(tǒng)來(lái)說(shuō),基本內(nèi)核的代碼量都比較大,因而采用本文所述的方式能夠帶來(lái)比較大的耗時(shí)改善。
OMAP作為一種整合了ARM控制能力與DSP數(shù)據(jù)處理能力的雙核心處理器已經(jīng)廣泛應(yīng)用于各種嵌入式設(shè)備中,但大多數(shù)OMAP處理器通過(guò)外部Flash啟動(dòng),既浪費(fèi)時(shí)間又有較高風(fēng)險(xiǎn)。本文針對(duì)OMAP啟動(dòng)過(guò)程中的這一缺陷,設(shè)計(jì)的多級(jí)啟動(dòng)Boot Loader較之傳統(tǒng)方式有較大的性能改善,目前已在數(shù)字集群手持終端、網(wǎng)絡(luò)多媒體可視電話(huà)等項(xiàng)目中得到成功應(yīng)用,并取得很好的效果。
(全球TMT2022年9月22日訊)Omdia《半導(dǎo)體市場(chǎng)競(jìng)爭(zhēng)格局追蹤(Competitive Landscape Tracker)》報(bào)告顯示,2022年第二季度半導(dǎo)體市場(chǎng)收入首次下滑,增長(zhǎng)進(jìn)一步疲軟。2022年第二季...
關(guān)鍵字: 半導(dǎo)體市場(chǎng) 英特爾 MPU 內(nèi)存市場(chǎng)北京2022年9月22日 /美通社/ -- Omdia《半導(dǎo)體市場(chǎng)競(jìng)爭(zhēng)格局追蹤(Competitive Landscape Tracker)》報(bào)告顯示,2022年第二季度半導(dǎo)體市場(chǎng)收入首次下滑,增長(zhǎng)進(jìn)一步疲軟。2022年...
關(guān)鍵字: 半導(dǎo)體市場(chǎng) 英特爾 MPU 內(nèi)存市場(chǎng)喜來(lái)登酒店及度假村于中國(guó)西南地區(qū)中心城市成都為旅行者打造全新會(huì)聚之所 新酒店致力于成為成都充滿(mǎn)活力和吸引力的創(chuàng)新和生態(tài)旅游目的地郫都區(qū)的社交中心,為賓客在此溝通交流并提升工作效率提供便利 成都2022年4月24日 /...
關(guān)鍵字: BOOT 創(chuàng)客 AN SE- 與安慰劑相比,如果因急性心力衰竭住院的成人患者在病情穩(wěn)定后、出院前開(kāi)始服用恩格列凈,其在 90 天內(nèi)獲得臨床益處的可能性要高 36% - 臨床獲益在新發(fā)或者...
關(guān)鍵字: MPUMicrochip MPLABò ICE 4在線(xiàn)仿真器是一套完整的仿真、編程和調(diào)試系統(tǒng),具有無(wú)線(xiàn)連接、電源調(diào)試和使用跟蹤的實(shí)時(shí)代碼分析功能
關(guān)鍵字: Microchip 在線(xiàn)仿真器 MCU MPU