<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 達芬奇數字媒體片上系統的架構和Linux啟動(dòng)過(guò)程

達芬奇數字媒體片上系統的架構和Linux啟動(dòng)過(guò)程

作者: 時(shí)間:2015-01-29 來(lái)源:網(wǎng)絡(luò ) 收藏

  ● DMSoC交換中心資源

本文引用地址:http://dyxdggzs.com/article/269184.htm

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



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

  電源域及復位

  DMSoC有兩個(gè)電源域,分別是Always On域和DSP域。Always On域由CVDD ARM核電源供電,給ARM、總線(xiàn)、SCR和除VICP之外的所有外設提供電源;DSP電源域由CVDDDSP DSP核電源供電,給DSP和VICP提供電源。

  雙核架構的DMSoC的功耗也非常有競爭力,這一方面取決于芯片本身的工藝,另一方面也取決于芯片內部時(shí)鐘和電源的結構。如圖4所示,DMSoC有電源休眠控制器(Power & Sleep Controller)管理芯片電源的開(kāi)關(guān)及復位??梢杂密浖刂艱SP電源域,控制DSP及其模塊時(shí)鐘的開(kāi)關(guān)和復位。PSC不支持ARM及其模塊的斷電控制、ARM的本地復位和ARM的時(shí)鐘關(guān)斷控制。同時(shí)PSC可以中斷ARM和DSP,支持IcePick仿真(emulation)特性。



  圖4 DM6446的電源休眠控制器

  關(guān)于達芬奇DMSoC的復位類(lèi)型、觸發(fā)源及對應的復位對象請參考表2。



  達芬奇DMSoC初始化流程

  ● 達芬奇DMSoC復位狀態(tài)

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

  ● 達芬奇DMSoC初始化順序

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

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

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

  (4)操作系統啟動(dòng)。以為例,①初始化ARM;②初始化硬件系統;③初始化環(huán)境。

  ● U-boot初始化順序

  通常情況下,ARM 要求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設置最基本的系統硬件環(huán)境,包括系統PLL及DDR2的初始化、PSC的配置及使能UART0、AEMIF等硬件模塊。有些工程師設計的達芬奇板可能用到了和DVEVM不同的Flash,那么就要根據用到的Flash參數修改u-boot/board/davinci/flash.c。另外,關(guān)于DM644x支持的NAND Flash ID,請參考TMS320DM644x DMSoC的相關(guān)文檔。

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

  (1)關(guān)中斷和MMU。

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

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

  (4)初始化系統PLL。

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

  (6)VTP校準。

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

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

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

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

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

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

  (6)設置kernel tagged list。

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

  (8)調用內核。

  ● Linux 初始化步驟

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

  * 已經(jīng)初始化的memory系統。

  * R0=0;R1為ARM Linux機類(lèi)型值。

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

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

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

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

  (4)Linux的第一個(gè)進(jìn)程init()運行。

  總結

  經(jīng)過(guò)上面介紹,很多DSP工程師可能會(huì )對達芬奇DMSoC及Linux啟動(dòng)流程有一個(gè)感性的認識,雙核架構的達芬奇DMSoC帶給我們的是一加一大于二的性?xún)r(jià)比,要想了解更多的細節,請參考數據手冊和應用文檔。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


存儲器相關(guān)文章:存儲器原理


數字濾波器相關(guān)文章:數字濾波器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 達芬奇 Linux

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>