<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è) > 嵌入式系統 > 設計應用 > 視頻監控系統中如何快速實(shí)現ARM和DSP的通信和協(xié)同工作

視頻監控系統中如何快速實(shí)現ARM和DSP的通信和協(xié)同工作

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

  達芬奇軟件結構框圖 www.elecfans.com

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


  圖1 達芬奇軟件結構框圖

  通過(guò)第一部分的介紹,我們知道了TI數字軟件開(kāi)發(fā)包(DVSDK)中的Codec Engine軟件模塊可以幫助我們輕松地或協(xié)處理器的,以及Codec Engine軟件模塊的概要情況,下面我們將告訴你走完Codec Engine入門(mén)的第一步和第二步。歡迎轉載,本文來(lái)自電子發(fā)燒友網(wǎng)(http://www.elecfans.com)

  2. Codec Engine入門(mén)第一步

  有些初學(xué)者認為Codec Engine文件包結構復雜,很難找到自己想找的文檔或例子。其實(shí)在Codec Engine文件包的根目下有一個(gè)發(fā)布說(shuō)明文檔,比如Codec Engine 1.20 根目錄下的release_notes_codec_engine_1_20.html。這個(gè)文檔就是你了解Codec Engine的開(kāi)始,里面有關(guān)于該版本Codec Engine的介紹、相關(guān)文檔資料的鏈接、新的功能、支持哪些芯片、已知的bug、修正了哪些bug及例子等等的具體說(shuō)明。具體如圖2藍色字體所示。瀏覽該文檔后,初學(xué)者至少可以知道哪里可以找到自己想要的文檔或例子。舉例來(lái)說(shuō),如果想找相關(guān)的文檔,點(diǎn)擊 Documentation就可以看到這個(gè)Codec Engine文件包里的文檔的鏈接。

  

 Codec Engine 1.20 Release Notes截圖 www.elecfans.com

  圖2 Codec Engine 1.20 Release Notes截圖

  3.Codec Engine入門(mén)第二步

  點(diǎn)擊Codec Engine的發(fā)布說(shuō)明文檔 (如圖2)的Validation Info,我們可以知道Codec Engine 1.20需要和以下軟件模塊和工具配合使用:

  ?Framework Components 1.20.02

  ?xDAIS 5.21

  ?XDC Tools 2.93.01

  ?/BIOS Link 1.40.05, configured for the DM6?46 EVM

  ?C6x Code Generation Tools version 6.0.8

  ?/BIOS 5.31.05

  ?MontaVista Linux v4.0

  ?Red Hat Enterprise Linux 3 (SMP)

  因此,我們需要在該Codec Engine安裝的DVSDK文件包下面檢查上面提到的軟件模塊和工具是否安裝,版本是否正確。否則,可能會(huì )編譯不過(guò) Codec Engine的例子。那么,什么是 Framework Components,什么是xDAIS,什么又是XDC Tools呢?你可以分別到它們的根目錄下瀏覽它們各自的發(fā)布說(shuō)明文檔,做一個(gè)總體的了解。

  這里我們簡(jiǎn)單介紹一下,可以幫助大家盡快找到和自己相關(guān)的重點(diǎn)及資源。

  1)Framework Components是TI提供的一個(gè)軟件模塊,負責DSP側的memory 和DMA資源管理。因此,DSP算法工程師需要了解這個(gè)軟件模塊。http://tiexpressdsp.com/wiki/index.php?title=Framework_Components_FAQ

  2)xDAIS 是一個(gè)標準,它定義了TI DSP算法接口的標準。這樣大大提高了DSP算法軟件的通用性。DSP算法工程師要寫(xiě)出能被通過(guò)Codec Engine調用的算法,必須保證自己的算法接口符合這個(gè)標準。因此,DSP算法工程師也必須了解這個(gè)軟件模塊。http://tiexpressdsp.com/wiki/index.php?title=Category:XDAIS

  3)XDC Tools和gmake類(lèi)似,是一個(gè)工具。XDC根據用戶(hù)定義的一套build指令,通過(guò)調用用戶(hù)指定的 工具鏈(Tool Chain)和DSP編譯器(C6x Code Generation Tools )build出ARM側和DSP側的可執行文件??梢韵炔槐丶毦窟@個(gè)工具,只需通過(guò)編Codec Engine的例子,知道設置build指令就可以了。

  4)DSP/BIOS Link是ARM和DSP之間的底層軟件,Codec Engine就是建立在這個(gè)底層軟件之上。在修改系統內存分配(缺省是256MB的DDR2)時(shí),DSP/BIOS Link 1.38版本的用戶(hù)需要修改DSP/BIOS Link的配置文件,并重新build DSP/BIOS Link。而DSP/BIOS Link 1.40版本以后的用戶(hù)就無(wú)需此操作。http://tiexpressdsp.com/wiki/index.php?title=DSPLink_Overview

  http://wiki.davincidsp.com/index.php?title=Changing_the_DVEVM_memory_map

  5)C6x Code Generation Tools是Linux環(huán)境下C6000系列DSP的編譯器。我們用CCS開(kāi)發(fā)DSP時(shí)都是用的Windows環(huán)境下的DSP編譯器。

  6)DSP/BIOS是TI 免費提供的DSP實(shí)時(shí)操作系統。和上面C6x Code Generation Tools一樣,這里的DSP/BIOS也是Linux環(huán)境下的版本。DSP系統工程師需要了解這個(gè)操作系統。

  4. Codec Engine入門(mén)第三步

  開(kāi)發(fā)ARM+DSP平臺需要三類(lèi)工程師:ARM應用程序工程師、DSP算法工程師和DSP系統工程師。而開(kāi)發(fā)ARM+協(xié)處理器平臺只需要ARM應用程序工程師。下面就讓我們針對這三類(lèi)工程師做分別介紹。如果您使用的是TI或TI第三方的編解碼算法,就不需要關(guān)注DSP算法工程師的部分。如果使用ARM+協(xié)處理器平臺,就只需關(guān)心ARM應用工程師的部分。

  4.1 DSP算法工程師應該著(zhù)手?

  這里我們不討論如何開(kāi)發(fā)DSP算法,只討論DSP算法工程師怎樣讓自己的算法可以被ARM通過(guò)Codec Engine調用。(參考http://www.ti.com/litv/pdf/sprued6c,這個(gè)文檔會(huì )講到codec package及相關(guān)的.xs和.xdc文件,Codec Engine1.20及以上版本的用戶(hù)可以先不細究這些內容,后面會(huì )介紹工具幫您自動(dòng)生成這些文件。)

  1)熟悉xDAIS和xDM標準。

  xDM只是xDAIS的擴展,因此,需要先了解xDAIS。在xDAIS 軟件包根目錄下的發(fā)布說(shuō)明文檔里,可以很快找到關(guān)于xDAIS和xDM的文檔鏈接。http://focus.ti.com/lit/ug/spruec8b/spruec8b.pdf

  在xDAIS安裝路徑下的examples/ti/xdais/dm/examples/g711有一個(gè)g711_sun_internal.c,這個(gè)算法不符合x(chóng)DAIS標準。在同一個(gè)路徑下的g711dec_sun_ialg.c (decoder)和g711enc_sun_ialg.c (encoder)是封裝成符合x(chóng)DM標準之后的編解碼算法??梢酝ㄟ^(guò)這個(gè)例子學(xué)習和了解如何把自己算法封裝成符合x(chóng)DM標準的算法。

  xDAIS 6.10及其以后的版本,包含了一個(gè)工具QualiTI,可以檢查您的DSP算法是否滿(mǎn)足xDAIS標準(但不會(huì )檢查是否滿(mǎn)足xDM)。具體請參考:http://tiexpressdsp.com/wiki/index.php?title=QualiTI_XDAIS_Compliance_Tool

  2)熟悉Framework Components。

  Framework Components主要包括兩個(gè)模塊DSKT2和DMAN3,它們分別負責DSP側的memory 和EDMA資源管理。DSP算法使用的memory必須是先向DSKT2提出申請并由DSKT2分配得到的。同樣DSP算法使用的EDMA通道也是向DMAN3申請并由DMAN3分配得到的。而關(guān)于QDMA的操作,是通過(guò)ACPY3這個(gè)模塊的。這樣的好處是很容易對DSP側不同的算法做整合,不同的算法之間不用擔心資源(Memory和EDMA)的沖突問(wèn)題。

  在Framework Components 軟件包根目錄下的發(fā)布說(shuō)明文檔里,可以很快找到相關(guān)文檔的鏈接。在Framework Components安裝路徑下packagestisdofcdman3examples有一個(gè)Fast Copy的例子,可以幫您理解如何基于Framework Components的ACPY3模塊實(shí)現QDMA的操作。

  另外,有些用戶(hù)DSP側的算法比較簡(jiǎn)單,在確保不和ARM側EDMA資源沖突的前提下在算法里直接操作EDMA不使用DMAN3也是可以的。這樣做的弊端是和其它算法做整合時(shí)會(huì )遇到資源使用沖突的問(wèn)題。


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

評論


相關(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>