《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 數字多媒體處理器TMS320DM355啟動分析
數字多媒體處理器TMS320DM355啟動分析
來源:電子技術應用2012年第3期
苑瑋琦,黃 旭
沈陽工業大學 視覺檢測技術研究所,遼寧 沈陽110870
摘要: 分析了TI公司的TMS320DM355的啟動方式和NAND啟動流程,使開發者能夠根據實際需求改動DVSDK中的UBL與編譯U-Boot,并排除開發過程中出現的錯誤。使開發者通過各種方式下載操作系統內核映像至DM355的Flsah,并建立NFS文件系統,從而建立一個完整的開發環境。
中圖分類號: TP37
文獻標識碼: A
文章編號: 0258-7998(2012)03-0027-03
The booting analysis of digital media processor TMS320DM355
Yuan Weiqi,Huang Xu
Shenyang University of Technology Computer Vision Group,Shenyang 110870,China
Abstract: This article analyses the boot mode of TMS320DM355,describes loading U-Boot from NAND, makes the developers be able to modify UBL and complie U-Boot,even debug.Next the developers need to download the OS image to the Flash of DM355 and establish NFS file system,thus bulids a complete development environment.
Key words : DM355;boot mode;NAND Flash;video monitor

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

1 總體啟動流程
1.1 啟動方式設置

    DM355的ARM可以從異步外部存儲器接口(AEMIF)上的OneNAND或者從ARM的內部ROM啟動,這是由管腳BTSEL[1:0]的配置決定的[5]。BTSEL[1:0]也可以進一步設置ROM啟動方式,即在芯片重置之后,除了當BTSEL[1:0]=01表明AEMIF已啟動外,ARM一定從內部ROM的0x00008000處開始啟動,ARM內部ROM中的這部分程序稱作ROM Boot Loader(簡稱RBL)。因是TI公司嵌在DM355的內部ROM里面的,用戶不能更改。
    BTSEL[1:0]共有如下4種設置[6]:
    (1)BTSEL[1:0]=01時,為AEMIF啟動方式,這種模式由硬件控制,啟動不包含ARM內部ROM(即RBL不運行)。在由OneNAND啟動的情況下,用戶必須自己在OneNAND的啟動頁中放入必要的啟動代碼,這些代碼必須為OneNAND設備設置AEMIF模塊。在AEMIF被設置之后,啟動會緊跟OneNAND啟動頁中的AEMIF管理頁而繼續。
    (2)BTSEL[1:0]=00時,RBL運行,NAND啟動。
    (3)BTSEL[1:0]=10時,RBL運行,MMC/SD啟動。
    (4)BTSEL[1:0]=11時,RBL運行,UART啟動。
    由此可見,不經由RBL的啟動方式只有BTSEL[1:0]=01一種,而經由RBL的啟動方式有3種(此時BTSEL[1:0]≠01)。
    當芯片被設置成NAND啟動模式時,如果啟動失敗,則DM355會嘗試MMC/SD 啟動;如果MMC/SD 啟動失敗,則DM355會再次嘗試這種啟動方式;如果UART啟動失敗,DM355會再次嘗試這種啟動方式。
    DM355的總體啟動流程如圖1所示。

    NAND啟動與OneNAND啟動適用于系統參數和功能固定的應用場合,二者在價格和讀寫速度上的差異也使得設計者可以根據需求做出權衡。而MMC/SD啟動適用于系統參數和功能經常需要改變的場合。UART啟動一般應用于調試階段而非實際應用。
    在設計系統選擇啟動方式時,可以根據各種方式的特點,選擇合適的方式啟動系統。
1.2 啟動中的狀態標志
    DM355的RBL會用GIO61來指示啟動狀態(可以用來驅動LED),這可以幫助開發者更直觀地觀察系統的狀態。重啟之后,GIO61被初始化為低電平。
    (1)如系統上電時通過NAND啟動,未成功后會嘗試通過MMC/SD啟動,在此期間GIO61以4 Hz的頻率切換高低電平。
    (2)如系統被上電時通過MMC/SD啟動,在嘗試啟動期間GIO61以4 Hz的頻率切換高低電平。
    (3)如系統上電時通過UART啟動,在嘗試啟動期間GIO61以2 Hz的頻率切換高低電平。
    當啟動成功之后,在程序被移交給UBL之前,GIO61被設置為高電平。其過程如圖2所示。

 

 

    總之,RBL在BTSEL[1:0] ≠01時運行的情況下,控制權被交給RBL,待讀取BTSEL[1:0]的狀態之后,RBL才執行合適的代碼。
2 NAND啟動流程
    NAND Flash存儲器具有容量較大、擦寫速度快等優點,適用于大量數據的存儲,但不支持片內執行(XIP)。NOR Flash支持片內執行,讀速度稍快于NAND Flash,但寫入速度遠落后于NAND Flash,且二者接口不同,這就決定了NAND Flash適用于大規模數據存儲而NOR Flash適用于小量代碼存儲的特點。另外,接口的特點也決定了NAND Flash的讀寫更復雜,必需要驅動。
    當BTSEL[1:0]被設置為00時,NAND模式將啟動,NAND啟動模式默認NAND位于EM_CE0接口,這個接口的總線設置由管腳AECFG[3:0]確定。AECFG[3:0]必須被正確地設置, EMIF的信號才能被NAND器件采用。
    NAND啟動流程如下:
    (1)RBL執行,初始化0x4000~0x7FFF(2 KB)的空間作為堆棧,最后32 bit(0x7FFC~0x8000)閑置,因為這里會被寫入找到的UBL的塊號。此時會禁止所有中斷、中斷請求和快速中斷請求。
    (2)NAND器件的設備ID被從NAND讀出來,然后從RBL的信息表中讀取出一些必要的信息(如頁大小和塊大小)。信息表是DM355所支持的NAND設備的列表;然后,RBL在NAND的block 1中的page 0尋找UBL的描述符。
    (3)如果有效的UBL沒有被找到(這取決于是否讀到了正確的魔幻數),下一個塊會繼續被尋找,最多連續搜尋24個塊,這是為了防止NAND中的壞塊,搜尋24個塊足夠應付絕大部分NAND中的錯誤。
    魔幻數是基于在一個塊的第0頁的前32 bit讀取0xA1ACEDxx而探測到的,只有塊1~塊24的page 0將會被讀取和尋找魔幻數。
    (4)當一個有效的UBL標識符被找到之后,這個塊的號碼被寫在ARM內部RAM的最后32 bit,即0x7ffc~0x8000。這種特性是為了調試方便,通過讀這32 bit(例如通過JATG),可以知道UBL在哪一個NAND塊讀到了有效的UBL標識符,如果在搜尋完24個塊之后還沒有找到有用的標識符,則DM355將會嘗試通過MMC/SD啟動。
    (5)當有效的UBL被找到之后,RBL會處理UBL描述符,描述符給出了裝載UBL和移交UBL控制權所需要的信息。接下來UBL被讀取和處理,RBL首先可能會根據魔幻數所提供的信息啟用一些與快速EMIF和高速緩存相關的操作。此外,描述符提供了在UBL的拷貝期間是否應用DMA的信息。一但啟動條件確立了,RBL拷貝UBL到DM355的內部RAM,起始地址為0x00000020,開始的32 B是ARM的系統中斷向量表(8個向量,每個4 B)。UBL的拷貝始于這32 B的中斷向量表之后,提供了用戶裝載程序的必要的細節。表1為UBL描述符的格式。
      魔幻數的最后兩位決定了NAND的啟動模式,如表2所示。

      NAND RBL應用4 bit ECC校驗來確定在將UBL讀取到內部RAM時是否有錯誤發生。假如4 bit ECC校驗探測到了錯誤,則UBL會通過ECC修正算法來修正錯誤。如果由于其他原因讀取UBL失敗,則拷貝過程會因為需要魔幻數而立即暫停,然后RBL會從找到魔幻數的那一塊繼續尋找相鄰的塊,以找尋另一魔幻數。當找到下一魔幻數時,將重復這一過程。利用這種機制,魔幻數和UBL可以被復制達24次,給予NAND讀取錯誤以足夠的冗余和錯誤恢復能力。
    如果在搜索了24個塊之后沒有找到有效的UBL描述符,則RBL會轉向去通過MMC/SD啟動。
    (6)將UBL讀取到內部RAM之后,RBL將控制權交給UBL。
    (7)UBL開始掃描NAND以尋找ABL(Application Boot Loader)描述符的魔幻數,如果找到了描述符,則UBL將ABL裝載進DDR,并跳轉到ABL的入口地址。TI公司的UBL在8和9兩個NAND塊中找尋ABL的描述符,如果找不到,則屏幕會顯示以下信息:
    UBL: Failed to read app descriptor
    UBL: NANDBoot() failed
    類似于UBL的描述符和魔幻數,ABL的描述符和魔幻數分別如表3、表4所示。
    NAND啟動的總體流程如圖3所示。

3 嵌入式目標板
    基于DM355處理器的目標板原理框圖如圖4所示。
    目標板上主要資源包括:(1)TMS320DM355處理器,可工作在216/270 MHz;(2)512 MB的NAND Flash,型號為Sumsang K9F4G08U0A,包含4 096個塊,每塊含64個頁,頁大小為2 048 B。芯片ID為0xDC[7];(3)128 MB DDR2,主頻為533 MHz。
4 通過CCS燒寫UBL及ABL
    (1)CCS的配置
    安裝TDS510驅動,連接TDS510仿真器、DM355及PC機,打開CCS的配置程序,配置好DM355的JATG仿真環境[8],使CCS可以識別目標板。
    (2)燒寫UBL及ABL(U-Boot)
    在CCS下打開TI公司的DVSDK中的NAND_progra-mmer.pjt,這是一個向NAND中寫入UBL及ABL的CCS工程。打開nandProg.c可以看到下面定義好的UBL及ABL魔幻數:
unsigned int ubldesc [] = {
0xA1ACED00,    //Magic number
0x00000020,    //Entry point for the UBL
0x00000007,    //No. of pages for the UBL code
0x1,         //Starting block of UBL in NAND
0x1             //Starting page of UBL in NAND
};
unsigned int appdesc [] = {
    0xB1ACED22,    //Magic number
    0x0000000A,    //Start block in NAND
    0x81080000,    //Start address in DDR
    0x81080000,    //Entry point
    0x00000200,    //No. of pages for the complete Application
    0x00000000    //compression flag
    };
    在開發時可以根據開發需要對其進行改動,但要注意UBL及ABL的大小對其中一些參數的影響。
    (3)編譯NAND_programmer.pjt并運行,根據提示輸入編譯好的UBL與U-Boot二進制文件。DVSDK開發包中有利用CCS編譯UBL的工程,可以根據需求對其進行改動,但要注意其生成.BIN文件的大小,因為U-Boot在Lunix環境下進行編譯也生成一個.BIN格式的文件。
    (4)用串口線連接DM355與PC機,啟動DM355目標板,登錄到U-Boot。此時可以通過U-Boot的指令來查看位于NAND中的UBL與RBL描述符[9],并證實修改的有關UBL和UBL的參數。
    實驗表明,系統能依照設定的方式從NAND啟動,并成功登陸U-Boot命令行,而且可以通過指令來查看魔幻數與描述符。下一步的工作是建立操作系統內核,并下載到存儲器,建立文件系統,從而建立完整的開發環境。
參考文獻
[1] TI公司.面向便攜高清視頻應用的DaVinci DM355處理器[J].世界電子元器件,2008(4):54-58.
[2] Texas Instruments.DM355 Linux PSP 1.20 release notes[M]. 2009.
[3] 劉繼超.基于DM355的嵌入式網絡視頻監控系統設計[D]. 青島:青島科技大學,2009.
[4] 王薇薇.基于DM355的視頻監控系統的設計與實現[D]. 武漢:武漢理工大學,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使用手冊.2005.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲直播在线一区| 午夜影视日本亚洲欧洲精品| 久久在线免费观看视频| 亚洲精品视频免费在线观看| 亚洲欧美999| 欧美在线关看| 国产乱肥老妇国产一区二| 亚洲午夜国产一区99re久久| 亚洲欧洲三级| 午夜视频一区在线观看| 国产精品久久久久999| 韩国欧美国产1区| 亚洲欧美乱综合| 正在播放日韩| 久久久久中文| 亚洲国产乱码最新视频| 欧美日韩另类国产亚洲欧美一级| 欧美激情中文字幕在线| 久久人91精品久久久久久不卡| 欧美日韩国产va另类| 欧美成人a视频| 国产精品二区在线| 亚洲性线免费观看视频成熟| 久久久久久成人| 国产婷婷色一区二区三区| 国产裸体写真av一区二区| 美女啪啪无遮挡免费久久网站| 久久一区二区视频| 国内精品视频在线播放| 国产精品电影在线观看| 亚洲午夜久久久久久久久电影网| 欧美成人乱码一区二区三区| 久热爱精品视频线路一| 国产精品一区久久久| 亚洲精品欧美日韩| av成人激情| 久久av一区二区| 国产精品乱人伦中文| 国产精品久久久一区麻豆最新章节| 精品动漫3d一区二区三区免费版| 性欧美1819性猛交| 久久精品日产第一区二区| 国产欧美日韩另类一区| 欧美一级视频免费在线观看| 中日韩美女免费视频网址在线观看| 欧美有码视频| 亚洲国产美女精品久久久久∴| 欧美日韩国产小视频| 卡一卡二国产精品| 亚洲精品美女免费| 久久精品99久久香蕉国产色戒| 亚洲毛片一区| 亚洲美女性视频| 午夜精品久久久久久久久久久| 久久午夜精品| 亚洲一区bb| 欧美午夜精品电影| 亚洲美女色禁图| 国产精品午夜在线| 久久精品国内一区二区三区| 中文日韩在线| 另类尿喷潮videofree| 亚洲自拍偷拍网址| 国产精品一区在线观看| 在线午夜精品自拍| 久久国产精品99国产精| 欧美在线综合| 欧美日韩麻豆| 亚洲午夜精品一区二区| 国产欧美日韩不卡| 午夜日本精品| 欧美激情影院| 亚洲图片欧洲图片av| 欧美精品国产一区二区| 久久电影一区| 国产精品免费看久久久香蕉| 午夜免费电影一区在线观看| 亚洲精品视频免费在线观看| 国产精品第一区| 99精品免费视频| 美女露胸一区二区三区| 欧美日韩人人澡狠狠躁视频| 农村妇女精品| 亚洲一区二区视频| 国产精品资源在线观看| 国产精品久久精品日日| 国产精品第一区| 久久精品国产欧美亚洲人人爽| 午夜久久资源| 久久精品在线视频| 欧美激情精品久久久久久免费印度| 欧美日韩和欧美的一区二区| 久久久亚洲一区| 激情欧美一区二区| 伊人伊人伊人久久| 国产精品免费区二区三区观看| 国产亚洲综合性久久久影院| 国产精品老女人精品视频| 亚洲一区二区三区涩| 日韩一区二区电影网| 国产精品亚洲一区二区三区在线| 久久永久免费| 日韩视频精品在线观看| 一本在线高清不卡dvd| 亚洲一区二区三区免费视频| 久久综合伊人77777蜜臀| 在线一区二区三区四区| 国产精品日日做人人爱| 黄色成人片子| 欧美精品一区二区在线播放| 国产美女扒开尿口久久久| 国产亚洲欧美日韩精品| 国产精品一香蕉国产线看观看| 欧美中文字幕在线观看| 国产综合色一区二区三区| 亚洲美女尤物影院| 欧美一区二区三区四区在线| 99视频一区| 久久婷婷国产综合尤物精品| 99精品欧美一区二区三区| 中文一区二区在线观看| 免费日韩av片| 亚洲国产精品成人| 欧美影院一区| 99精品国产99久久久久久福利| 欧美成年视频| 欧美成人官网二区| 欧美人成免费网站| 9l视频自拍蝌蚪9l视频成人| 羞羞答答国产精品www一本| 校园春色综合网| 国产伦精品一区二区三区视频孕妇| 亚洲韩国青草视频| 国产一区二区三区观看| 在线精品国产欧美| 欧美日韩精品系列| 老色鬼精品视频在线观看播放| 欧美久久久久久久久| 久久久精品日韩欧美| 日韩视频在线观看国产| 一本色道久久综合亚洲精品不卡| 亚洲国产高清视频| 亚洲国产va精品久久久不卡综合| 国产日韩欧美在线观看| 国产日韩欧美在线看| 国产色综合久久| 欧美精品在线观看一区二区| 亚洲欧洲免费视频| 日韩亚洲在线| 亚洲第一页自拍| 久久综合色婷婷| 欧美va亚洲va香蕉在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产欧美精品一区aⅴ影院| 欧美一级视频免费在线观看| 一本色道久久综合亚洲二区三区| 伊人精品视频| 亚洲国产一区二区三区a毛片| 国产欧美va欧美va香蕉在| 欧美成年人网| 欧美人与禽猛交乱配| 免费欧美网站| 亚洲精品网站在线播放gif| 欧美精品久久久久久久久久| 国产精品成人一区二区网站软件| 国产精品日韩欧美综合| 亚洲素人在线| 欧美一区二区三区久久精品| 欧美日韩成人激情| 欧美一二三区精品| 国产精品一区二区久久| 国产免费观看久久| 日韩视频免费观看高清在线视频| 亚洲国产一区二区三区在线播| 欧美少妇一区二区| 免费成人在线视频网站| 在线欧美亚洲| 亚洲精品在线电影| 亚洲精品影院| 久久精品亚洲一区二区三区浴池| 欧美777四色影视在线| 欧美丝袜第一区| 亚洲伊人观看| 欧美日韩亚洲网| 国产嫩草影院久久久久| 国产精品v亚洲精品v日韩精品| 国产精品一区二区在线观看网站| 欧美日韩日本国产亚洲在线| 亚洲午夜一区| 亚洲一区图片| 国产亚洲精品久久久久婷婷瑜伽| 久久男女视频| 亚洲一区免费观看| 欧美性猛交99久久久久99按摩| 欧美日韩国产大片| 乱人伦精品视频在线观看| 久久久久成人精品免费播放动漫| 亚洲亚洲精品在线观看| 欧美视频在线观看 亚洲欧| 蜜桃av久久久亚洲精品| 亚洲精品欧美激情| 亚洲专区一二三| 国产综合色一区二区三区| 好吊视频一区二区三区四区| 久久综合给合久久狠狠色| 亚洲第一偷拍| 麻豆av一区二区三区久久| 亚洲欧洲99久久| 国产精品久久久一区麻豆最新章节| 老色鬼久久亚洲一区二区| 欧美日韩亚洲不卡| 亚洲国产精品www| 久久国产日本精品| 国产精品免费电影| 国产午夜精品美女毛片视频| 亚洲婷婷国产精品电影人久久| 正在播放亚洲| 久久综合国产精品| 99riav国产精品| 久久久在线视频| 国产日韩欧美三区| 欧美主播一区二区三区美女 久久精品人| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲一区在线免费观看| 国产麻豆91精品| 国产一区二区精品| 最新国产乱人伦偷精品免费网站| 欧美日韩在线另类| 欧美亚洲成人网| 亚洲小说欧美另类社区| 怡红院av一区二区三区| 国内成人精品一区| 久久成人精品一区二区三区| 欧美日韩国产成人在线| 欧美午夜电影在线| 国产一区清纯| 久久久青草婷婷精品综合日韩| 欧美精品色一区二区三区| 久久国产高清| 国产精品久在线观看| 亚洲欧美日韩一区| 亚洲精品国产拍免费91在线| 欧美丰满少妇xxxbbb| 久久精品免费电影| 国产精品久久波多野结衣| 国产精品久久久久久亚洲毛片| 欧美日本在线一区| 亚洲欧美在线观看| 免费观看欧美在线视频的网站| 欧美日韩亚洲高清一区二区| 亚洲欧美精品在线| 亚洲国产欧美在线人成| 国产毛片精品国产一区二区三区| 伊人伊人伊人久久| 国产精品黄色| 欧美激情精品久久久久| 欧美日本视频在线| 伊人婷婷欧美激情| 国产精品国产一区二区| 国产一区二三区| 亚洲经典三级| 欧美激情免费观看| 欧美aⅴ99久久黑人专区| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲视频在线免费观看| 激情婷婷亚洲| 在线精品在线| 久久艳片www.17c.com| 一区二区三区精品视频| 亚洲性人人天天夜夜摸| 国产精品国产三级国产普通话蜜臀| 亚洲国产成人精品久久久国产成人一区| 欧美二区视频| 欧美日韩精品免费观看视一区二区| 香蕉成人久久| 亚洲精品视频啊美女在线直播| 欧美精品色网| 一区久久精品| 欧美日韩国产综合视频在线观看中文| 欧美一级专区| 欧美一级成年大片在线观看| 欧美日韩国产亚洲一区| 久久久久久久网| 欧美久久九九| 免费不卡在线观看av| 日韩一级黄色片| 国产精品任我爽爆在线播放| 久久精品国产精品亚洲精品| 欧美日韩无遮挡| 欧美日产国产成人免费图片| 欧美日韩免费观看一区=区三区| 亚洲第一福利视频| 亚洲国产三级在线| 在线观看视频一区二区| 亚洲青涩在线| 一本色道88久久加勒比精品| 一本色道久久综合亚洲91| 国产精品日产欧美久久久久| 国产日本精品| 免费h精品视频在线播放| 久热爱精品视频线路一| 国产亚洲精品bv在线观看| 久久久激情视频| 亚洲精品视频啊美女在线直播| 亚洲一区www| 国产日本欧美视频| 欧美在线在线| 欧美精品一区二区在线播放| 中文久久乱码一区二区| 国产欧美1区2区3区| 亚洲永久免费精品| 欧美日韩国产一中文字不卡| 欧美va亚洲va国产综合| 国产丝袜一区二区三区| 先锋影音网一区二区| 亚洲在线免费观看| 欧美一级播放| 欧美精品久久久久久久免费观看| 国产女人aaa级久久久级| 欧美色欧美亚洲另类二区| 亚洲一区二区成人在线观看| 99国产精品久久久| 欧美系列精品| 伊人精品久久久久7777| 日韩一区二区福利| 国产综合在线看| 亚洲精品在线视频观看| 国产精品老女人精品视频|