下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、快速實現(xiàn)arm和dsp的通信和協(xié)同工作點擊codec engine的發(fā)布解釋文檔 (2)的validation info,我們可以知道codec engine 1.20需要和以下軟件模塊和工具協(xié)作用法:* framework components 1.20.02* xdais 5.21* xdc tools 2.93.01* dsp/bios link 1.40.05, configured for the dm6?46 evm* c6x code generation tools version 6.0.8* dsp/bios 5.31.05* montavista v4.0* red ha
2、t enterprise linux 3 (smp)因此,我們需要在該codec engine安裝的dvsdk文件包下面檢查上面提到的軟件模塊和工具是否安裝,版本是否正確。否則,可能會編譯不過 codec engine的例子。那么,什么是 framework components,什么是xdais,什么又是xdc tools呢?你可以分離到它們的根名目下掃瞄它們各自的發(fā)布解釋文檔,做一個總體的了解。這里我們?nèi)菀捉榻B一下,可以協(xié)助大家盡快找到和自己相關(guān)的重點及資源。1)framework components是ti提供的一個軟件模塊,負(fù)責(zé)dsp側(cè)的memory 和dma資源管理。因此,dsp算法
3、工程師需要了解這個軟件模塊。 /index.php?title=framework_components_faq2)xdais 是一個標(biāo)準(zhǔn),它定義了ti dsp算法接口的標(biāo)準(zhǔn)。這樣大大提高了dsp算法軟件的通用性。dsp算法工程師要寫出能被arm通過codec engine調(diào)用的算法,必需保證自己的算法接口符合這個標(biāo)準(zhǔn)。因此,dsp算法工程師也必需了解這個軟件模塊。3)xdc tools和gmake類似,是一個工具。xdc按照用戶定義的一套build命令,通過調(diào)用用戶指定的arm 工具鏈(tool chain)和dsp編譯器(c6x code generation tools )build出a
4、rm側(cè)和dsp側(cè)的可執(zhí)行文件??梢韵炔槐丶毦窟@個工具,只需通過編codec engine的例子,知道如何設(shè)置build命令就可以了。4)dsp/bios link是實現(xiàn)arm和dsp之間通信的底層軟件,codec engine就是建立在這個底層軟件之上。在修改系統(tǒng)內(nèi)存分配(缺省是256mb的ddr2)時,dsp/bios link 1.38版本的用戶需要修改dsp/bios link的配置文件,并重新build dsp/bios link。而dsp/bios link 1.40版本以后的用戶就無需此操作。 /index.php?title=dsplink_overview5)c6x code
5、generation tools是linux環(huán)境下c6000系列dsp的編譯器。我們用ccs開發(fā)dsp時都是用的windows環(huán)境下的dsp編譯器。6)dsp/bios 是ti 免費提供的dsp實時操作系統(tǒng)。和上面c6x code generation tools一樣,這里的dsp/bios也是linux環(huán)境下的版本。dsp系統(tǒng)工程師需要了解這個操作系統(tǒng)。http: /4. codec engine入門第三步開發(fā)armdsp平臺需要三類工程師:arm應(yīng)用程序工程師、dsp算法工程師和dsp系統(tǒng)工程師。而開發(fā)arm協(xié)處理器平臺只需要arm應(yīng)用程序工程師。下面就讓我們針對這三類工程師做分離介紹。假
6、如您用法的是ti或ti第三方的編解碼算法,就不需要關(guān)注dsp算法工程師的部分。假如用法arm協(xié)處理器平臺,就只需關(guān)懷arm應(yīng)用工程師的部分。41 dsp算法工程師應(yīng)當(dāng)如何著手?這里我們不研究如何開發(fā)dsp算法,只研究dsp算法工程師怎樣讓自己的算法可以被arm通過codec engine調(diào)用。(參考,這個文檔會講到codec package及相關(guān)的.xs和.xdc文件,codec engine1.20及以上版本的用戶可以先不細究這些內(nèi)容,后面會介紹工具幫您自動生成這些文件。)1)認(rèn)識xdais和xdm標(biāo)準(zhǔn)。xdm 只是xdais的擴展,因此,需要先了解xdais。在xdais 軟件包根名目下的
7、發(fā)布解釋文檔里,可以很快找到關(guān)于xdais和xdm的文檔鏈接。 /spruec8b/spruec8b.pdf在xdais安裝路徑下的examples/ti/xdais/dm/examples /g711有一個g711_sun_internal.c,這個算法不符合xdais標(biāo)準(zhǔn)。在同一個路徑下的g711dec_sun_ialg.c (decoder)和g711enc_sun_ialg.c (encoder)是封裝成符合xdm標(biāo)準(zhǔn)之后的編解碼算法。可以通過這個例子學(xué)習(xí)和了解如何把自己算法封裝成符合xdm標(biāo)準(zhǔn)的算法。xdais 6.10及其以后的版本,包含了一個工具qualiti,可以檢查您的dsp
8、算法是否滿足xdais標(biāo)準(zhǔn)(但不會檢查是否滿足xdm)。詳細請參考: /index.php?title=qualiti_xdais_compliance_tool2)認(rèn)識 framework components。framework components主要包括兩個模塊dskt2和dman3,它們分離負(fù)責(zé)dsp側(cè)的memory 和edma資源管理。dsp算法用法的memory必需是先向dskt2提出申請并由dskt2分配得到的。同樣dsp算法用法的edma通道也是向 dman3申請并由dman3分配得到的。而關(guān)于qdma的操作,是通過acpy3這個模塊實現(xiàn)的。這樣的益處是很簡單對dsp側(cè)不同的
9、算法做整合,不同的算法之間不用不安資源(memory和edma)的矛盾問題。在framework components 軟件包根名目下的發(fā)布解釋文檔里,可以很快找到相關(guān)文檔的鏈接。在framework components安裝路徑下packagestisdofcdman3examples有一個fast copy的例子,可以幫您理解如何基于framework components的acpy3模塊實現(xiàn)qdma的操作。另外,有些用戶 dsp側(cè)的算法比較容易,在確保不和arm側(cè)edma資源矛盾的前提下在算法里挺直操作edma不用法dman3也是可以的。這樣做的弊端是和其它算法做整合時會碰到資源用法矛盾
10、的問題。42 dsp系統(tǒng)工程師應(yīng)當(dāng)如何著手?通常dsp算法工程師都會把自己的符合xdm標(biāo)準(zhǔn)算法編成一個.lib文件(或 .a6?p),供dsp系統(tǒng)工程師調(diào)用。dsp系統(tǒng)工程師終于build出一個dsp server(也就是dsp的可執(zhí)行程序.x6?p,和ccs下編譯生成的.out類似)。(參考 /sprued5b/sprued5b.pdf,這個文檔會講到.xdc和.bld等文件,codec engine1.20及以上版本的用戶可以先不細究,后面介紹工具幫您自動生成這些文件。)1)假如現(xiàn)在有一個.lib文件(或 .a6?p)(算法必需符合xdm標(biāo)準(zhǔn)),如何生成自己的dsp server呢?下面u
11、rl有具體的關(guān)于rtsc codec and server package wizard工具介紹,教您如何把一個.lib文件封裝成rtsc codec 包和rtsc dsp server包,并終于build出dsp的可執(zhí)行程序.x6?p。 /index.php?title=rtsc_codec_and_server_package_wizards2)假如您用法的是codec engine 1.20以前的版本,請參考codec engine安裝路徑下examples/servers/video_copy這個例子。這時就需要搞清晰sprued6c.pdf和 sprued5b.pdf中提到的.xdc
12、和.xs等文件的功能,也可以在video_copy中的相關(guān)文件的基礎(chǔ)上修改手動創(chuàng)建出自己的rtsc codec包和rtsc dsp server包。3)創(chuàng)建好rtsc codec 和rtsc dsp server包之后,就是如何build出.x6?p的問題了。點擊圖2所示的examples,就可以找到build codec engine例子的解釋文檔的鏈接。根據(jù)這個文檔做一遍后,就可以對如何build codec server有一個清晰的了解。其中關(guān)鍵是修改user.bld和xdcpaths.mak文件,設(shè)置codec engine依靠的其它軟件模塊和工具的正確路徑。4)假如自己的硬件ddr2
13、大小和例子中的256mbytes不全都,需要修改dsp的.tcf文件和其他配置。還有些工程師不清晰如何分配memory及如何打算詳細段,如:ddralgheap和ddr的大小,以及如何配置./loadmodules里的參數(shù)都請參考: /index.php?title=changing_the_dvevm_memory_map。43 arm應(yīng)用程序工程師應(yīng)當(dāng)如何著手?arm應(yīng)用工程師需要調(diào)用codec engine的visa api,終于編出arm側(cè)的可執(zhí)行程序,因此,必需按照自己的應(yīng)用學(xué)習(xí)相關(guān)的visa api、如何創(chuàng)建應(yīng)用側(cè)codec engine的package及配置文件。(參考,這個文檔
14、也涉及到如何調(diào)試codec engine的內(nèi)容)。1)了解arm應(yīng)用程序調(diào)用codec engine的流程、visa api和其他codec engine api。可以參考codec engine安裝路徑下examples/apps/video_copy的例子(較容易)或者dvsdk安裝路徑下demos里的encode /decode/encodedecode例子(較復(fù)雜)。 /index.php?title=configuring_codec_engine_in_arm_apps_with_createfromserver2)了解ceapp.cfg文件。sprue67d.pdf有相關(guān)介紹,可
15、以先讀懂examples/apps /video_copy/ceapp.cfg。3)用4.2 3)中提到的辦法學(xué)習(xí)如何build arm側(cè)的可執(zhí)行程序。4)如何在多線程中調(diào)用codec engine,參考: /index.php?title=multiple_threads_using_codec_engine_handle5)還可以參考以下三個文檔了解更多ti demo的arm應(yīng)用程序的結(jié)構(gòu)、線程調(diào)度等詳細的問題。encodedecode demo for the davinci dvevm/dvsdk 1.2 (rev. a) (spraah0a.htm, 8 kb) 27 jun 200
16、7 abstractencode demo for the davinci dvevm/dvsdk 1.2 (rev. a) (spraa96a.htm, 8 kb) 27 jun 2007 abstractdecode demo for the davinci dvevm/dvsdk 1.2 (rev. a) (spraag9a.htm, 8 kb) 27 jun 2007 abstract5用法中常遇到的問題1)假如碰到問題可以先拜訪 /index.php?title=codec_engine_faq。2)有些工程師沒有dsp開發(fā)閱歷,或者臨時沒有器通過jtag調(diào)試dsp。可以參考下面網(wǎng)頁
17、的內(nèi)容,先做一個“hello world”的例程對arm和dsp如何協(xié)同工作有個感性熟悉。 /index.php?title=how_to_build_an_arm/dsp_hello_world_program_on_the_davinci_evm3)無數(shù)工程師都是參考video_copy的例子,在它的基礎(chǔ)上把自己的算法加進去。由于有源代碼,這樣比較簡單。但絕對要按照自己算法的需要修改arm和dsp之間傳遞的buffer和參數(shù),重要的是先保證arm側(cè)的應(yīng)用程序可以把buffer和參數(shù)正確傳遞到dsp,dsp可以把處理之后的buffer正確的傳到arm側(cè)的應(yīng)用程序。把這個通路打通之后,就比較簡
18、單定位問題是出在arm應(yīng)用程序還是dsp側(cè)的算法。另外,參考 video_copy例子時注重代碼的注釋,以便清晰哪一句代碼可以刪掉哪一句必需要修改或保留。假如要擴展xdm的數(shù)據(jù)結(jié)構(gòu)請參考: /index.php?title=extending_data_structures_in_xdm。4)codec engine dsp側(cè)會涉及到cache全都性的問題。請參考: /index.php?title=cache_management5)關(guān)于codec engine系統(tǒng)調(diào)試,有以下幾種辦法:a.打開codec engine trace,通過打印信息看問題出在什么地方。比如engine_open失敗,dsp側(cè)不能創(chuàng)建codec 等等。a)codec engine 2.0及以上版本,請參考:b)codec engine 1.x版本,請參考:b.arm 應(yīng)用程序跑起來后,用仿真器連上ccs調(diào)試dsp側(cè)程序,參考: /index.php?title=debugging_the_dsp_side_of_a_ce_application_on_davinci_using_ccsc.用soc analyzer可以做系統(tǒng)調(diào)試之外,還可以統(tǒng)計詳細函數(shù)運行(arm和dsp側(cè))時光(benchmark)。請參考:6)由于codec en
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版家屬區(qū)整體改造裝修服務(wù)合同3篇
- 江蘇省南通市如皋市 2024-2025學(xué)年九年級上學(xué)期1月期末道德與法治試題(含答案)
- 二零二五年度企業(yè)并購合同法操作指南3篇
- 保健品批發(fā)商的社區(qū)健康宣傳效果評估考核試卷
- 家居布藝的智能化窗簾控制系統(tǒng)設(shè)計與實現(xiàn)考核試卷
- 二零二五年度造紙機械租賃施工合同2篇
- 2025年新能源車位租賃與維護保養(yǎng)一體化服務(wù)合同2篇
- 2025年新能源產(chǎn)品銷售業(yè)績達標(biāo)合同范本2篇
- 2025年信息安全技術(shù)協(xié)議
- 2025年度智能設(shè)備維修個人勞務(wù)合同模板3篇
- 我的家鄉(xiāng)瓊海
- (2025)專業(yè)技術(shù)人員繼續(xù)教育公需課題庫(附含答案)
- 《互聯(lián)網(wǎng)現(xiàn)狀和發(fā)展》課件
- 【MOOC】計算機組成原理-電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年上海健康醫(yī)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案解析
- 2024年湖北省武漢市中考語文適應(yīng)性試卷
- 非新生兒破傷風(fēng)診療規(guī)范(2024年版)解讀
- EDIFIER漫步者S880使用說明書
- 皮膚惡性黑色素瘤-疾病研究白皮書
- 從心理學(xué)看現(xiàn)代家庭教育課件
- C語言程序設(shè)計PPT(第7版)高職完整全套教學(xué)課件
評論
0/150
提交評論