国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

達芬奇數字媒體片上系統的架構和Linux啟動過程

發布時間:2010-9-18 17:21    發布者:techshare
達芬奇( DaVinci)數字媒體技術平臺TMS320DM6446/3采用了ARM+DSP雙核的架構,本文從芯片的硬件結構入手介紹達芬奇DMSoC硬件部分及Linux OS的啟動過程。  

達芬奇DMSoC硬件概述  

如圖1所示,達芬奇數字媒體片上系統(DMSoC)提供:兩個內核(ARM+DSP);視頻處理子系統(VPSS);多種 Boot模式(NOR Flash/NAND Flash/UART0 Boot Mode);兩個電源域;多個時鐘樹;多個引腳獨立或復用的外設。  



圖1 DM6446功能結構框圖  

● ARM-DSP集成  

對于雙核的達芬奇架構,大家最關心的就是兩個核之間的資源分配、通信方式及如何高效地實現資源共享各盡其能。ARM獨享(DSP不可用)的外設有:UART0/1/2,I2C,看門狗定時器,PWM0/1/2,ARM中斷控制器,USB2.0,ATA/CF,SPI,GPIO,VPSS,EMAC/MDIO,EMIFA CONTROL,VLYNQ,MMC/SD。DSP獨享(ARM不可用)的外設有:DSP中斷控制器,VICP。ARM和DSP共享的外設有:EDMA,Timer0/1,Power & Sleep Controller,ASP和EMIFA Data。  



圖2 ARM-DSP集成結構  

如圖2所示,可以很清楚地看到ARM可以訪問DSP片內存儲器(L2RAM和L1P/D);DSP可以訪問ARM片內存儲器;ARM和DSP共享DDR2和AEMIF。因此,通常情況下ARM只需傳遞需要處理的數據地址指針給DSP,而無須大塊的數據搬移。ARM和DSP之間的通信可以通過相互中斷實現。ARM可以中斷DSP(通過4個通用中斷和1個不可屏蔽中斷);DSP可以通過2個通用中斷來中斷ARM。ARM控制DSP的電源、時鐘、復位和引導。  

● DMSoC存儲器映射  

達芬奇DMSoC多個片上存儲器和兩個處理器及不同的子系統相關。為了簡化軟件開發,DMSoC中所有的存儲器統一編址,如表1所示。  



● DMSoC交換中心資源  

以上大家看到DMSoC有非常豐富的外設和視頻處理硬件資源,而且ARM和DSP又共享DDR2等存儲器資源,那么DMSoC又是如何確保ARM、DSP和VPSS同時訪問外設或存儲器資源時不會引起沖突呢?DMSoC中的交換中心資源(SCR:Switched Central Resource)會做出管理。如圖3所示,把任何一個發起數據傳輸的源稱為Master(每一個Master有一個專用的ID),這個Master要訪問的目的地稱為Slave,這樣在Master和Slave之間就構成一條數據傳輸的通路。從圖3中可以看到,在SCR中可以有很多并行的Master到Slave的數據通路。如果是不同的Master、相同的Slave,那么可以通過設置每一個Master的優先級來得到特殊應用系統的最佳性能。對于大多數的Master,可以通過寄存器MSTPRI0和MSTPRI1來設置它們的優先級。如果Master是C64x+、VPSS和EDMA,可以通過它們自己的相關寄存器控制它們自己的優先級,這樣可以更加靈活、快速的實現高的視頻數據吞吐帶寬。詳細信息可以參考DM6446的數據手冊。  



圖3 DMSoC交換中心資源的結構框圖  

電源域及復位  

達芬奇DMSoC有兩個電源域,分別是Always On域和DSP域。Always On域由CVDD ARM核電源供電,給ARM、總線、SCR和除VICP之外的所有外設提供電源;DSP電源域由CVDDDSP DSP核電源供電,給DSP和VICP提供電源。  

雙核架構的達芬奇DMSoC的功耗也非常有競爭力,這一方面取決于芯片本身的工藝,另一方面也取決于芯片內部時鐘和電源的結構。如圖4所示,達芬奇DMSoC有電源休眠控制器(Power & Sleep Controller)管理芯片電源的開關及復位。可以用軟件控制DSP電源域,控制DSP及其模塊時鐘的開關和復位。PSC不支持ARM及其模塊的斷電控制、ARM的本地復位和ARM的時鐘關斷控制。同時PSC可以中斷ARM和DSP,支持IcePick仿真(emulation)特性。  



圖4 DM6446的電源休眠控制器  

關于達芬奇DMSoC的復位類型、觸發源及對應的復位對象請參考表2。  



達芬奇DMSoC初始化流程  

● 達芬奇DMSoC復位狀態  

DM644x上電復位后,芯片的絕大部分模塊都處于不工作狀態。鎖相環PLL處于旁路(Bypass)模式;DSP子系統的狀態取決于DSP_BT引腳;UART1和UART2也處于不工作狀態,UART0的狀態取決于BTSEL引腳(如果BTSEL=11,UART0工作);EMIFA處于工作狀態,其數據總線寬度由EM_WIDTH決定,地址總線寬度由AEAW決定;芯片的大部分引腳都被配置為GPIO引腳。引腳復用通過寄存器PINMUX0和PINMUX1控制。

● 達芬奇DMSoC初始化順序  

(1)DMSoC復位。芯片的配置由PSC決定,取決于BTSEL[0-3]、EM_WIDTH、AEWA和DSP_BT的狀態。  

(2)ROM boot loader(如果被選)。NAND或者UART0的初始化。  

(3)引導加載(Boot-loading)。以U-boot為例,①使能電源域:DDR2和DSP;②設置時鐘頻率(ARM、DSP和DDR2時鐘的乘除系數);③設置引腳復用控制器;④設置ARM引導啟動操作系統。  

(4)操作系統啟動。以Linux為例,①初始化ARM;②初始化硬件系統;③初始化Linux環境。  

● U-boot初始化順序  

通常情況下,ARM Linux要求boot loader中有少許的初始化。目前TI的DVEVM使用的是U-boot-1.1.3。U-boot代碼中首先運行的是u-boot/cpu/arm926ejs/start.S,芯片和一些DVEVM板的硬件配置主要在u-boot/board/davinci/platform.S和davinci.c中完成。其中u-boot/board/davinci/platform.S設置最基本的系統硬件環境,包括系統PLL及DDR2的初始化、PSC的配置及使能UART0、AEMIF等硬件模塊。有些工程師設計的達芬奇板可能用到了和DVEVM不同的Flash,那么就要根據用到的Flash參數修改u-boot/board/davinci/flash.c。另外,關于DM644x支持的NAND Flash ID,請參考TMS320DM644x DMSoC的相關文檔。  

以NOR Flash boot為例,DVEVM u-boot初始化下列的達芬奇DMSoC內容:  

(1)關中斷和MMU。  

(2)使能DSP電源域(PTCMD),把DSP置為復位狀態。  

(3)初始化PLL,使能DDR2,軟復位DDR2并且重新使能DDR2,使其脫離復位狀態。  

(4)初始化系統PLL。  

(5)配置AEMIF引腳為NOR Flash接口。  

(6)VTP校準。  

完成以上步驟之后,U-boot準備引導ARM Linux。  

(1)配置系統的內存(通過ATAG_ MEM塊和mem=)NAND Flash和DDR2。  

(2)通過TFTP加載等加載方式,加載內核到指定的存儲地址。  

(3)如果定義過,加載RAM Disk。  

(4)初始化傳遞到內核的引導參數(EMAC地址,串口,控制臺,視頻格式等)  

(5)獲得ARM Linux機類型值(DVEVM為#901)。  

(6)設置kernel tagged list。  

(7)用初始值設置ARM的寄存器。  

(8)調用內核。  

● Linux 初始化步驟  

(1)Linux內核需要從引導加載程序(U-boot)中得到以下參數。  

* 已經初始化的memory系統。  

* R0=0;R1為ARM Linux機類型值。  

* R2指向ATAG結構體的內容:①物理memory區;②是否使用RAM DISK及其壓縮版的地址;③視頻驅動程序具體的初始化參數;④內核命令行;⑤其他參數(串口和版本號)。  

更多關于Linux內核引導參數的信息可以參考Linux/Documentation/kernel-parameters.txt。如果要想傳遞給內核更多的參數,再u-boot中的bootargs中設置就可以了。  

(2)對于壓縮的內核(aka uImage),Linux 最初啟動Linux/arch/kernel/head.s。  

(3)start_kernel()運行。位于Linux/init/main.c。  

(4)Linux的第一個進程init()運行。  

總結  

經過上面介紹,很多DSP工程師可能會對達芬奇DMSoC及Linux啟動流程有一個感性的認識,雙核架構的達芬奇DMSoC帶給我們的是一加一大于二的性價比,要想了解更多的細節,請參考數據手冊和應用文檔。
本文地址:http://www.qingdxww.cn/thread-27857-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 我們是Microchip
  • 利用模擬開發工具生態系統進行安全電路設計
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美 在线播放 | 中文字幕日韩哦哦哦 | 亚洲国产欧美国产第一区二区三区 | 免费高清精品国偷自产在线 | 最近中文字幕2018动漫 | 日韩欧美在线观看视频 | 日韩欧美精品在线 | 天堂在线链接 | 草久免费视频 | 一级骚片超级骚在线观看 | 免费可以直接观看的毛片 | 色avv| 精品久久伦理中文字幕 | 国产精品免费观看 | 成人午夜视频在线观看 | 亚洲日韩欧美视频 | 男女羞羞视频网站免费 | 天天综合天天综合 | 91在线公开视频 | 欧美日韩一区二区三区高清不卡 | 自拍偷拍2| 日本一区二区三区在线看 | 级毛片久久久毛片精品毛片 | 欧美成人亚洲国产精品 | 99视频精品国在线视频艾草 | 国产成人精品免费视频 | aaa成人永久在线观看视频 | 杰罗德游戏在线观看完整版免费 | 亚洲免费在线 | 亚洲精品九色在线网站 | 欧美日本综合一区二区三区 | 羞羞视频在线观看 | 天美传媒精品 | 国产精品视频一区二区三区w | 日韩精品福利视频一区二区三区 | 成人a在线 | 欧美性黑人十极品hd | 禁游app软件下载免费网站 | 999久久66久6只有精品 | 一级特黄aaa大片在 一级特黄aaa大片免费看 | 欧美一区二区三区四区视频 |