999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數(shù)字多媒體處理器TMS320DM355啟動(dòng)分析*

2012-07-03 00:23:50苑瑋琦
電子技術(shù)應(yīng)用 2012年3期
關(guān)鍵詞:嘗試設(shè)置系統(tǒng)

苑瑋琦,黃 旭

(沈陽(yáng)工業(yè)大學(xué) 視覺(jué)檢測(cè)技術(shù)研究所,遼寧 沈陽(yáng)110870)

TMS320DM355(以下簡(jiǎn)稱 DM355)處理器是 TI公司推出的面向便攜高清視頻應(yīng)用的基于ARM9+協(xié)處理器架構(gòu)的新型低成本DaVinci平臺(tái)[1-2],主要應(yīng)用于媒體播放器、數(shù)碼相機(jī)、數(shù)碼相框、IP網(wǎng)絡(luò)攝像機(jī)、視頻嬰兒監(jiān)視器等[3]。該處理器具有獨(dú)特的啟動(dòng)方式,其啟動(dòng)方式的選擇和硬件設(shè)置是開(kāi)發(fā)的關(guān)鍵問(wèn)題之一[4]。本文基于DM355的嵌入式目標(biāo)板和TI公司的DVSDK,介紹了DM355的啟動(dòng)方式設(shè)置、啟動(dòng)并引導(dǎo)U-Boot的過(guò)程。

1 總體啟動(dòng)流程

1.1 啟動(dòng)方式設(shè)置

DM355的ARM可以從異步外部存儲(chǔ)器接口(AEMIF)上的OneNAND或者從ARM的內(nèi)部ROM啟動(dòng),這是由管腳BTSEL[1:0]的配置決定的[5]。BTSEL[1:0]也可以進(jìn)一步設(shè)置ROM啟動(dòng)方式,即在芯片重置之后,除了當(dāng)BTSEL[1:0]=01表明AEMIF已啟動(dòng)外,ARM一定從內(nèi)部ROM的0x00008000處開(kāi)始啟動(dòng),ARM內(nèi)部ROM中的這部分程序稱作 ROM Boot Loader(簡(jiǎn)稱RBL)。因是 TI公司嵌在DM355的內(nèi)部ROM里面的,用戶不能更改。

BTSEL[1:0]共有如下4種設(shè)置[6]:

(1)BTSEL[1:0]=01時(shí),為 AEMIF啟動(dòng)方式,這種模式由硬件控制,啟動(dòng)不包含ARM內(nèi)部ROM(即RBL不運(yùn)行)。在由OneNAND啟動(dòng)的情況下,用戶必須自己在OneNAND的啟動(dòng)頁(yè)中放入必要的啟動(dòng)代碼,這些代碼必須為OneNAND設(shè)備設(shè)置AEMIF模塊。在AEMIF被設(shè)置之后,啟動(dòng)會(huì)緊跟OneNAND啟動(dòng)頁(yè)中的AEMIF管理頁(yè)而繼續(xù)。

(2)BTSEL[1:0]=00時(shí),RBL運(yùn)行,NAND啟動(dòng)。

(3)BTSEL[1:0]=10時(shí),RBL運(yùn)行,MMC/SD啟動(dòng)。

(4)BTSEL[1:0]=11時(shí),RBL運(yùn)行,UART啟動(dòng)。

由此可見(jiàn),不經(jīng)由RBL的啟動(dòng)方式只有BTSEL[1:0]=01一種,而經(jīng)由RBL的啟動(dòng)方式有 3種(此時(shí)BTSEL[1:0]≠01)。

當(dāng)芯片被設(shè)置成NAND啟動(dòng)模式時(shí),如果啟動(dòng)失敗,則DM355會(huì)嘗試MMC/SD啟動(dòng);如果MMC/SD啟動(dòng)失敗,則DM355會(huì)再次嘗試這種啟動(dòng)方式;如果 UART啟動(dòng)失敗,DM355會(huì)再次嘗試這種啟動(dòng)方式。

DM355的總體啟動(dòng)流程如圖1所示。

NAND啟動(dòng)與OneNAND啟動(dòng)適用于系統(tǒng)參數(shù)和功能固定的應(yīng)用場(chǎng)合,二者在價(jià)格和讀寫(xiě)速度上的差異也使得設(shè)計(jì)者可以根據(jù)需求做出權(quán)衡。而MMC/SD啟動(dòng)適用于系統(tǒng)參數(shù)和功能經(jīng)常需要改變的場(chǎng)合。UART啟動(dòng)一般應(yīng)用于調(diào)試階段而非實(shí)際應(yīng)用。

在設(shè)計(jì)系統(tǒng)選擇啟動(dòng)方式時(shí),可以根據(jù)各種方式的特點(diǎn),選擇合適的方式啟動(dòng)系統(tǒng)。

1.2 啟動(dòng)中的狀態(tài)標(biāo)志

DM355的RBL會(huì)用GIO61來(lái)指示啟動(dòng)狀態(tài)(可以用來(lái)驅(qū)動(dòng)LED),這可以幫助開(kāi)發(fā)者更直觀地觀察系統(tǒng)的狀態(tài)。重啟之后,GIO61被初始化為低電平。

(1)如系統(tǒng)上電時(shí)通過(guò)NAND啟動(dòng),未成功后會(huì)嘗試通過(guò)MMC/SD啟動(dòng),在此期間GIO61以4 Hz的頻率切換高低電平。

(2)如系統(tǒng)被上電時(shí)通過(guò)MMC/SD啟動(dòng),在嘗試啟動(dòng)期間GIO61以4Hz的頻率切換高低電平。

(3)如系統(tǒng)上電時(shí)通過(guò)UART啟動(dòng),在嘗試啟動(dòng)期間GIO61以2 Hz的頻率切換高低電平。

當(dāng)啟動(dòng)成功之后,在程序被移交給UBL之前,GIO61被設(shè)置為高電平。其過(guò)程如圖2所示。

總之,RBL在 BTSEL[1:0]≠01時(shí)運(yùn)行的情況下,控制權(quán)被交給 RBL,待讀取 BTSEL[1:0]的狀態(tài)之后,RBL才執(zhí)行合適的代碼。

2 NAND啟動(dòng)流程

NAND Flash存儲(chǔ)器具有容量較大、擦寫(xiě)速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲(chǔ),但不支持片內(nèi)執(zhí)行(XIP)。NOR Flash支持片內(nèi)執(zhí)行,讀速度稍快于NAND Flash,但寫(xiě)入速度遠(yuǎn)落后于NAND Flash,且二者接口不同,這就決定了NAND Flash適用于大規(guī)模數(shù)據(jù)存儲(chǔ)而NOR Flash適用于小量代碼存儲(chǔ)的特點(diǎn)。另外,接口的特點(diǎn)也決定了NAND Flash的讀寫(xiě)更復(fù)雜,必需要驅(qū)動(dòng)。

當(dāng)BTSEL[1:0]被設(shè)置為 00時(shí),NAND模式將啟動(dòng),NAND啟動(dòng)模式默認(rèn)NAND位于EM_CE0接口,這個(gè)接口的總線設(shè)置由管腳AECFG[3:0]確定。AECFG[3:0]必須被正確地設(shè)置,EMIF的信號(hào)才能被NAND器件采用。

NAND啟動(dòng)流程如下:

(1)RBL 執(zhí)行,初始化 0x4000~0x7FFF(2 KB)的空間作為堆棧,最后 32 bit(0x7FFC~0x8000)閑置,因?yàn)檫@里會(huì)被寫(xiě)入找到的UBL的塊號(hào)。此時(shí)會(huì)禁止所有中斷、中斷請(qǐng)求和快速中斷請(qǐng)求。

(2)NAND器件的設(shè)備ID被從NAND讀出來(lái),然后從RBL的信息表中讀取出一些必要的信息(如頁(yè)大小和塊大小)。信息表是DM355所支持的NAND設(shè)備的列表;然后,RBL在NAND的block 1中的page 0尋找UBL的描述符。

(3)如果有效的UBL沒(méi)有被找到(這取決于是否讀到了正確的魔幻數(shù)),下一個(gè)塊會(huì)繼續(xù)被尋找,最多連續(xù)搜尋24個(gè)塊,這是為了防止NAND中的壞塊,搜尋24個(gè)塊足夠應(yīng)付絕大部分NAND中的錯(cuò)誤。

魔幻數(shù)是基于在一個(gè)塊的第0頁(yè)的前32 bit讀取0xA1ACEDxx而探測(cè)到的,只有塊 1~塊 24的 page 0將會(huì)被讀取和尋找魔幻數(shù)。

(4)當(dāng)一個(gè)有效的UBL標(biāo)識(shí)符被找到之后,這個(gè)塊的號(hào)碼被寫(xiě)在ARM內(nèi)部RAM的最后32 bit,即0x7ffc~0x8000。這種特性是為了調(diào)試方便,通過(guò)讀這32 bit(例如通過(guò)JATG),可以知道UBL在哪一個(gè)NAND塊讀到了有效的UBL標(biāo)識(shí)符,如果在搜尋完24個(gè)塊之后還沒(méi)有找到有用的標(biāo)識(shí)符,則DM355將會(huì)嘗試通過(guò)MMC/SD啟動(dòng)。

(5)當(dāng)有效的UBL被找到之后,RBL會(huì)處理 UBL描述符,描述符給出了裝載UBL和移交UBL控制權(quán)所需要的信息。接下來(lái)UBL被讀取和處理,RBL首先可能會(huì)根據(jù)魔幻數(shù)所提供的信息啟用一些與快速EMIF和高速緩存相關(guān)的操作。此外,描述符提供了在UBL的拷貝期間是否應(yīng)用DMA的信息。一但啟動(dòng)條件確立了,RBL拷貝 UBL到 DM355的內(nèi)部 RAM,起始地址為0x00000020,開(kāi)始的32 B是ARM的系統(tǒng)中斷向量表(8個(gè)向量,每個(gè)4 B)。UBL的拷貝始于這32 B的中斷向量表之后,提供了用戶裝載程序的必要的細(xì)節(jié)。表1為UBL描述符的格式。

魔幻數(shù)的最后兩位決定了NAND的啟動(dòng)模式,如表2所示。

NAND RBL應(yīng)用4 bit ECC校驗(yàn)來(lái)確定在將UBL讀取到內(nèi)部RAM時(shí)是否有錯(cuò)誤發(fā)生。假如4 bit ECC校驗(yàn)探測(cè)到了錯(cuò)誤,則UBL會(huì)通過(guò)ECC修正算法來(lái)修正錯(cuò)誤。如果由于其他原因讀取UBL失敗,則拷貝過(guò)程會(huì)因?yàn)樾枰Щ脭?shù)而立即暫停,然后RBL會(huì)從找到魔幻數(shù)的那一塊繼續(xù)尋找相鄰的塊,以找尋另一魔幻數(shù)。當(dāng)找到下一魔幻數(shù)時(shí),將重復(fù)這一過(guò)程。利用這種機(jī)制,魔幻數(shù)和UBL可以被復(fù)制達(dá)24次,給予NAND讀取錯(cuò)誤以足夠的冗余和錯(cuò)誤恢復(fù)能力。

表1 UBL描述符格式

表2 UBL魔幻數(shù)與特殊啟動(dòng)模式

如果在搜索了24個(gè)塊之后沒(méi)有找到有效的UBL描述符,則RBL會(huì)轉(zhuǎn)向去通過(guò)MMC/SD啟動(dòng)。

(6)將UBL讀取到內(nèi)部RAM之后,RBL將控制權(quán)交給UBL。

(7)UBL開(kāi)始掃描NAND以尋找ABL(Application Boot Loader)描述符的魔幻數(shù),如果找到了描述符,則UBL將ABL裝載進(jìn)DDR,并跳轉(zhuǎn)到ABL的入口地址。TI公司的UBL在8和9兩個(gè)NAND塊中找尋ABL的描述符,如果找不到,則屏幕會(huì)顯示以下信息:

UBL:Failed to read app descriptor

UBL:NANDBoot()failed

類(lèi)似于UBL的描述符和魔幻數(shù),ABL的描述符和魔幻數(shù)分別如表3、表4所示。

表3 ABL描述符格式

NAND啟動(dòng)的總體流程如圖3所示。

3 嵌入式目標(biāo)板

基于DM355處理器的目標(biāo)板原理框圖如圖4所示。

表4 ABL魔幻數(shù)及特殊啟動(dòng)模式

目標(biāo)板上主要資源包括:(1)TMS320DM355處理器,可工作在 216/270 MHz;(2)512 MB的 NAND Flash,型號(hào)為Sumsang K9F4G08U0A,包含4 096個(gè)塊,每塊含64個(gè)頁(yè),頁(yè)大小為 2 048 B。芯片 ID為 0xDC[7];(3)128 MB DDR2,主頻為 533 MHz。

4 通過(guò)CCS燒寫(xiě)UBL及ABL

(1)CCS的配置

安裝TDS510驅(qū)動(dòng),連接TDS510仿真器、DM355及PC機(jī),打開(kāi) CCS的配置程序,配置好DM355的 JATG仿真環(huán)境[8],使CCS可以識(shí)別目標(biāo)板。

(2)燒寫(xiě) UBL及 ABL(U-Boot)

在CCS下打開(kāi)TI公司的DVSDK中的NAND_programmer.pjt,這是一個(gè)向NAND中寫(xiě)入U(xiǎn)BL及ABL的CCS工程。打開(kāi)nandProg.c可以看到下面定義好的UBL及ABL魔幻數(shù):

在開(kāi)發(fā)時(shí)可以根據(jù)開(kāi)發(fā)需要對(duì)其進(jìn)行改動(dòng),但要注意UBL及ABL的大小對(duì)其中一些參數(shù)的影響。

(3)編譯NAND_programmer.pjt并運(yùn)行,根據(jù)提示輸入編譯好的UBL與U-Boot二進(jìn)制文件。DVSDK開(kāi)發(fā)包中有利用CCS編譯UBL的工程,可以根據(jù)需求對(duì)其進(jìn)行改動(dòng),但要注意其生成.BIN文件的大小,因?yàn)閁-Boot在Lunix環(huán)境下進(jìn)行編譯也生成一個(gè).BIN格式的文件。

(4)用串口線連接DM355與PC機(jī),啟動(dòng) DM355目標(biāo)板,登錄到U-Boot。此時(shí)可以通過(guò)U-Boot的指令來(lái)查看位于NAND中的UBL與RBL描述符[9],并證實(shí)修改的有關(guān)UBL和UBL的參數(shù)。

實(shí)驗(yàn)表明,系統(tǒng)能依照設(shè)定的方式從NAND啟動(dòng),并成功登陸U-Boot命令行,而且可以通過(guò)指令來(lái)查看魔幻數(shù)與描述符。下一步的工作是建立操作系統(tǒng)內(nèi)核,并下載到存儲(chǔ)器,建立文件系統(tǒng),從而建立完整的開(kāi)發(fā)環(huán)境。

[1]TI公司.面向便攜高清視頻應(yīng)用的DaVinci DM355處理器[J].世界電子元器件,2008(4):54-58.

[2]Texas Instruments.DM355 Linux PSP 1.20 release notes[M].2009.

[3]劉繼超.基于DM355的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計(jì)[D].青島:青島科技大學(xué),2009.

[4]王薇薇.基于DM355的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2010

[5]Texas Instruments.TMS320DM355 digital media system-on-Chip(DMSoC)-SPRS463G[M].2007.

[6]Texas Instruments.TMS320DM355 DMSoC ARM subsystem reference guide.2007.

[7]Samsung Group.K9F4G08U0A datasheet.2005.

[8]Texas Instruments.Code composer studio development tools v3.3 getting started guide.2006.

[9]DENXU-BOOT及Linux使用手冊(cè).2005.

猜你喜歡
嘗試設(shè)置系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
中隊(duì)崗位該如何設(shè)置
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
再試試看
一次驚險(xiǎn)的嘗試
嘗試
一次讓我受益的嘗試
北極光(2018年12期)2018-03-07 01:01:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
本刊欄目設(shè)置說(shuō)明
主站蜘蛛池模板: 久久久久免费精品国产| 精品久久国产综合精麻豆| 91麻豆国产视频| a级毛片在线免费| 亚洲一区无码在线| 欧美成人a∨视频免费观看| 亚洲精品无码日韩国产不卡| 亚洲狠狠婷婷综合久久久久| 国产在线无码一区二区三区| 午夜欧美理论2019理论| 成年免费在线观看| 国产欧美综合在线观看第七页| 大学生久久香蕉国产线观看| 麻豆精品视频在线原创| 国产精品密蕾丝视频| 欧美日本在线观看| 美女国内精品自产拍在线播放| 亚洲欧洲日产国码无码av喷潮| 亚洲男人的天堂在线观看| 日本免费福利视频| 成人免费一区二区三区| 国产成年女人特黄特色毛片免| av在线人妻熟妇| 在线免费亚洲无码视频| 国产极品粉嫩小泬免费看| 欧美在线天堂| 精品国产www| 色综合狠狠操| 亚洲人免费视频| 日韩欧美国产成人| 午夜激情婷婷| 中文字幕色站| 日本午夜影院| 中国一级毛片免费观看| 国产美女精品人人做人人爽| 3p叠罗汉国产精品久久| 好紧好深好大乳无码中文字幕| 不卡无码网| 最新亚洲av女人的天堂| 国产精品一线天| 丁香五月激情图片| www.日韩三级| 一级毛片免费播放视频| 亚洲专区一区二区在线观看| 青青草原国产免费av观看| 亚洲国产成人在线| 国内嫩模私拍精品视频| 无码AV动漫| 亚洲高清在线天堂精品| 亚洲国产亚综合在线区| 亚洲国内精品自在自线官| 免费日韩在线视频| 国产精品无码翘臀在线看纯欲| 人妻无码一区二区视频| 亚洲成年人网| 国产午夜看片| 欧美日韩精品一区二区在线线| 在线看AV天堂| 中文字幕人成乱码熟女免费| 色偷偷av男人的天堂不卡| 久久a毛片| 精品国产乱码久久久久久一区二区| 国产成人AV大片大片在线播放 | 99这里精品| 狼友视频国产精品首页| 亚洲不卡影院| 久久久久人妻一区精品| 91偷拍一区| 久一在线视频| 91久久偷偷做嫩草影院精品| 国产一级做美女做受视频| 国产凹凸一区在线观看视频| 亚洲人成人无码www| 久久久久亚洲AV成人人电影软件 | 91精品最新国内在线播放| 国产jizz| 亚洲国产中文综合专区在| 国产成人高清精品免费5388| 色悠久久综合| 国产高潮流白浆视频| 免费激情网址| 色综合中文|