国产一区国产二区国产三区-国产一区精品-国产一区免费观看-国产一区免费在线观看-亚洲天堂免费-亚洲天堂免费观看

您好,歡迎光臨電子應用網![登錄] [免費注冊] 返回首頁 | | 網站地圖 | 反饋 | 收藏
在應用中實踐
在實踐中成長
  • 應用
  • 專題
  • 產品
  • 新聞
  • 展會
  • 活動
  • 招聘
當前位置:中國電子應用網 > 技術應用 > 正文

幫您快速入門 TI 的 Codec Engine

2011年05月20日10:40:21 本網站 我要評論(2)字號:T | T | T
關鍵字:應用 半導體 通信 數字 

德州儀器半導體技術(上海)有限公司 通用DSP 技術應用工程師 崔晶

德州儀器(TI)的第一顆達芬奇(DaVinci)芯片(處理器)DM6446已經問世快三年了。繼DM644x之后,TI又陸續推出了DM643x,DM35x,DM6467,OMAP353x等一系列ARM+DSP或ARM+視頻協處理器的多媒體處理器平臺。很多有很強DSP開發經驗或ARM開發經驗的工程師都轉到達芬奇或通用OMAP(OMAP353x)平臺上開發視頻監控、視頻會議及便攜式多媒體終端等產品。大家都面臨著同一個問題,那就是如何實現ARM和DSP或協處理器的通信和協同工作?TI的數字視頻軟件開發包(DVSDK)提供了Codec Engine這樣一個軟件模塊來實現ARM和DSP或協處理器的協同工作。有很多工程師反饋這個軟件模塊非常好用,節省了很多開發時間,也有工程師認為TI提供的資料太多,不知如何快速上手。本文將從一個第一次接觸Codec Engine的工程師角度出發,歸納TI提供的相關資源(文檔,例程和網絡資源)并介紹相關開發調試方法幫您快速入門Codec Engine。

1.Codec Engine概述


如圖1所示,Codec Engine是連接ARM和DSP或協處理器的橋梁,是介于應用層(ARM側的應用程序)和信號處理層(DSP側的算法)之間的軟件模塊。ARM應用程序調用Codec Engine的VISA (Video, Image, Speech, Audio)API,如圖1中VIDENC_process(a, b, c )。Codec Engine的stub (ARM側)會把參數a, b, c以及要調用DSP側process這個信息打包,通過消息隊列(message queue)傳遞到DSP。Codec Engine的skeleton(DSP側)會解開這個參數包,把參數a, b, c轉換成DSP側對應的參數x, y, z(比如ARM側傳遞的是虛擬地址,而DSP只能認物理地址),DSP側的server(優先級較低,負責和ARM通信的任務)會根據process這一信息創建一個DSP側的process(x, y, x)任務較終實現VIDENC_process(a, b, c)的操作。

圖1 達芬奇軟件結構框圖

2.Codec Engine入門第一步,從Codec Engine發布說明文檔(release notes)開始


圖2 Codec Engine 1.20 Release Notes截圖

3.Codec Engine入門第二步,了解Codec Engine的運行環境及依賴的軟件模塊和工具


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

  • Framework Components 1.20.02
  • xDAIS 5.21
  • XDC Tools 2.93.01
  • DSP/BIOS Link 1.40.05, configured for the DM6446 EVM
  • C6x Code Generation Tools version 6.0.8
  • DSP/BIOS 5.31.05
  • MontaVista Linux v4.0
  • Red Hat Enterprise Linux 3 (SMP)

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

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

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

2)xDAIS 是一個標準,它定義了TI DSP算法接口的標準。這樣大大提高了DSP算法軟件的通用性。DSP算法工程師要寫出能被ARM通過Codec Engine調用的算法,必須保證自己的算法接口符合這個標準。因此,DSP算法工程師也必須了解這個軟件模塊。

http://tiexpressdsp.com/wiki/index.php?title=Category:XDAIS

3)XDC Tools和gmake類似,是一個工具。XDC根據用戶定義的一套build指令,通過調用用戶指定的ARM 工具鏈(Tool Chain)和DSP編譯器(C6x Code Generation Tools )build出ARM側和DSP側的可執行文件。可以先不必細究這個工具,只需通過編Codec Engine的例子,知道如何設置build指令就可以了。

4)DSP/BIOS Link是實現ARM和DSP之間通信的底層軟件,Codec Engine就是建立在這個底層軟件之上。在修改系統內存分配(缺省是256MB的DDR2)時,DSP/BIOS Link 1.38版本的用戶需要修改DSP/BIOS Link的配置文件,并重新build DSP/BIOS Link。而DSP/BIOS Link 1.40版本以后的用戶就無需此操作。

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環境下C6000系列DSP的編譯器。我們用CCS開發DSP時都是用的Windows環境下的DSP編譯器。

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

http://tiexpressdsp.com/wiki/index.php?title=Category:DSPBIOS

4.Codec Engine入門第三步,根據自己的角色參考相關的文檔和例子進行開發


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

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

1)熟悉xDAIS和xDM標準。
xDM只是xDAIS的擴展,因此,需要先了解xDAIS。在xDAIS 軟件包根目錄下的發布說明文檔里,可以很快找到關于xDAIS和xDM的文檔鏈接。
http://focus.ti.com/lit/ug/spruec8b/spruec8b.pdf
在xDAIS安裝路徑下的examples/ti/xdais/dm/examples/g711有一個g711_sun_internal.c,這個算法不符合xDAIS標準。在同一個路徑下的g711dec_sun_ialg.c (decoder)和g711enc_sun_ialg.c (encoder)是封裝成符合xDM標準之后的編解碼算法。可以通過這個例子學習和了解如何把自己算法封裝成符合xDM標準的算法。
xDAIS 6.10及其以后的版本,包含了一個工具QualiTI,可以檢查您的DSP算法是否滿足xDAIS標準(但不會檢查是否滿足xDM)。具體請參考:

http://tiexpressdsp.com/wiki/index.php?title=QualiTI_XDAIS_Compliance_Tool

2)熟悉Framework Components。Framework Components主要包括兩個模塊DSKT2和DMAN3,它們分別負責DSP側的memory 和EDMA資源管理。DSP算法使用的memory必須是先向DSKT2提出申請并由DSKT2分配得到的。同樣DSP算法使用的EDMA通道也是向DMAN3申請并由DMAN3分配得到的。而關于QDMA的操作,是通過ACPY3這個模塊實現的。這樣的好處是很容易對DSP側不同的算法做整合,不同的算法之間不用擔心資源(Memory和EDMA)的沖突問題。
在Framework Components 軟件包根目錄下的發布說明文檔里,可以很快找到相關文檔的鏈接。在Framework Components安裝路徑下packages\ti\sdo\fc\dman3\examples有一個Fast Copy的例子,可以幫您理解如何基于Framework Components的ACPY3模塊實現QDMA的操作。
另外,有些用戶DSP側的算法比較簡單,在確保不和ARM側EDMA資源沖突的前提下在算法里直接操作EDMA不使用DMAN3也是可以的。這樣做的弊端是和其它算法做整合時會遇到資源使用沖突的問題。

4.2 DSP系統工程師應該如何著手?
通常DSP算法工程師都會把自己的符合xDM標準算法編成一個.lib文件(或 .a64P),供DSP系統工程師調用。DSP系統工程師較終build出一個DSP Server(也就是DSP的可執行程序.x64P,和CCS下編譯生成的.out類似)。(參考http://focus.ti.com/lit/ug/sprued5b/sprued5b.pdf,這個文檔會講到.xdc和.bld等文件,Codec Engine1.20及以上版本的用戶可以先不細究,后面介紹工具幫您自動生成這些文件。)

1)如果現在有一個.lib文件(或 .a64P)(算法必須符合xDM標準),如何生成自己的DSP Server呢?下面URL有詳細的關于RTSC Codec and Server Package Wizard工具介紹,教您如何把一個.lib文件封裝成RTSC Codec 包和RTSC DSP Server包,并較終build出DSP的可執行程序.x64P。

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

2)如果您使用的是Codec Engine 1.20以前的版本,請參考Codec Engine安裝路徑下examples/servers/video_copy這個例子。這時就需要搞清楚sprued6c.pdf和sprued5b.pdf中提到的.xdc和.xs等文件的功能,也可以在video_copy中的相關文件的基礎上修改手動創建出自己的RTSC Codec包和RTSC DSP server包。

3)創建好RTSC Codec 和RTSC DSP Server包之后,就是如何build出.x64P的問題了。點擊圖2所示的Examples,就可以找到build Codec Engine例子的說明文檔的鏈接。按照這個文檔做一遍后,就可以對如何build Codec Server有一個清楚的了解。其中關鍵是修改user.bld和xdcpaths.mak文件,設置Codec Engine依賴的其它軟件模塊和

相關閱讀:

    沒有相關新聞...
網友評論:已有2條評論 點擊查看
登錄 (請登錄發言,并遵守相關規定)
如果您對新聞頻道有任何意見或建議,請到交流平臺反饋。【反饋意見】
關于我們 | 聯系我們 | 本站動態 | 廣告服務 | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 www.flexio.com.cn.All rights reserved.
電子應用網 京ICP備12009123號-2 京公網安備110105003345號
久久99中文字幕| 日韩在线观看视频黄| 亚洲女人国产香蕉久久精品| 欧美激情伊人| 久久精品大片| 一级毛片看真人在线视频| 国产国语对白一级毛片| 日韩在线观看视频免费| 久久久久久久久综合影视网| 精品国产一区二区三区久 | 一级片片| 青青久热| 久久国产精品永久免费网站| 青青青草影院| 精品视频在线观看免费| 亚欧成人乱码一区二区| 999久久久免费精品国产牛牛| 亚洲精品影院| 国产综合成人观看在线| 亚洲精品久久玖玖玖玖| 欧美日本韩国| 毛片电影网| 欧美爱色| 日韩男人天堂| 亚欧视频在线| 一a一级片| 成人免费一级纶理片| 99久久精品国产高清一区二区 | 国产不卡福利| 亚洲天堂免费观看| 国产一级生活片| 韩国三级一区| 欧美激情在线精品video| 日韩免费片| 精品国产一区二区三区免费| 国产伦久视频免费观看 视频| 美女免费毛片| 成人免费观看的视频黄页| 日本特黄特色aaa大片免费| 国产不卡高清在线观看视频| 国产综合91天堂亚洲国产| 成人高清护士在线播放| 九九免费高清在线观看视频| 欧美一区二区三区在线观看 | 亚洲精品中文字幕久久久久久| 韩国三级一区| 日韩专区一区| 你懂的福利视频| 美女被草网站| 麻豆系列 在线视频| 成人免费观看的视频黄页| 免费的黄视频| 亚洲爆爽| 国产一区免费观看| 国产亚洲精品aaa大片| 韩国毛片免费大片| 99色视频在线| 午夜在线影院| 国产一区二区高清视频| 成人免费观看的视频黄页| 亚州视频一区二区| 国产一区国产二区国产三区| 亚州视频一区二区| 国产不卡在线观看视频| 国产亚洲男人的天堂在线观看| 99热精品在线| 久久国产影视免费精品| 九九精品在线| a级毛片免费观看网站| 天堂网中文字幕| 成人免费网站视频ww| 免费国产在线观看| 九九久久99综合一区二区| 亚洲精品永久一区| 国产一区二区精品| 91麻豆高清国产在线播放| 精品久久久久久中文字幕一区 | 麻豆系列国产剧在线观看| 国产国语在线播放视频| 欧美一级视频免费| 国产91素人搭讪系列天堂| 成人免费网站久久久| 欧美另类videosbestsex久久| 999久久狠狠免费精品| 亚洲 国产精品 日韩| 香蕉视频三级| 亚欧视频在线| 九九久久国产精品大片| 久久99这里只有精品国产| 亚洲www美色| 可以免费看污视频的网站| 成人影视在线播放| 久久国产影视免费精品| 国产福利免费观看| 高清一级做a爱过程不卡视频| 九九久久国产精品| 日韩av片免费播放| 欧美爱色| 麻豆系列国产剧在线观看| 欧美激情影院| 国产精品自拍在线观看| 欧美大片毛片aaa免费看| 超级乱淫黄漫画免费| 一级毛片视频免费| 免费国产在线视频| 欧美一区二区三区在线观看 | 精品毛片视频| 97视频免费在线| 久久精品人人做人人爽97| 欧美激情一区二区三区在线播放| 精品美女| 日本伦理片网站| 999久久久免费精品国产牛牛| 超级乱淫黄漫画免费| 99久久精品国产高清一区二区| 国产精品自拍在线观看| 国产高清在线精品一区二区| 国产一区二区精品尤物| 日本特黄特色aaa大片免费| 国产福利免费视频| 一级片片| 日韩专区第一页| 久久久久久久久综合影视网| 美女免费精品视频在线观看| 国产一区二区精品| 亚洲精品影院久久久久久| 精品国产一区二区三区久| 日韩欧美一二三区| 日韩中文字幕一区二区不卡| 美女被草网站| 午夜精品国产自在现线拍| 久久国产精品自线拍免费| 青青青草影院| 成人高清视频在线观看| 精品国产亚一区二区三区| 九九精品在线| 麻豆网站在线看| 精品久久久久久中文字幕一区 | 毛片高清| 天天做日日爱| 日韩av成人| 国产亚洲精品成人a在线| 精品国产一区二区三区久| 国产精品免费精品自在线观看| 成人免费观看的视频黄页| 久草免费在线视频| 一本伊大人香蕉高清在线观看| 欧美18性精品| 国产网站在线| 亚久久伊人精品青青草原2020| 国产麻豆精品高清在线播放| 精品久久久久久中文字幕一区| 91麻豆精品国产自产在线观看一区| 欧美电影免费| 精品久久久久久中文字幕2017| 久久国产一区二区| 色综合久久天天综合| 青青久久精品| 国产精品12| 91麻豆国产福利精品| 欧美激情伊人| 国产美女在线观看| 一本高清在线| 成人免费观看的视频黄页| 亚欧视频在线| 欧美激情一区二区三区视频 | 九九久久99综合一区二区| 亚洲女人国产香蕉久久精品 | 久久国产一久久高清| 韩国三级视频网站| 国产91精品一区| 午夜激情视频在线观看| 国产不卡在线看| 黄视频网站在线看| 精品国产亚洲人成在线| 欧美a级片视频| 久久久久久久久综合影视网| 国产综合成人观看在线| 欧美爱色| 日韩中文字幕一区| 在线观看成人网 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产网站免费在线观看| 国产成人精品在线| 亚洲精品影院久久久久久| 深夜做爰性大片中文| 高清一级片| 毛片高清| 精品视频免费在线| 国产伦久视频免费观看 视频| 四虎久久精品国产| 久久精品店| 亚洲www美色| 国产a毛片| 亚洲 欧美 91| 日韩中文字幕在线播放| 成人免费一级毛片在线播放视频| 毛片高清| 成人免费观看视频| 成人免费一级毛片在线播放视频|