DavinciDM6446開發攻略——DSP開發工程建立知識分享_第1頁
DavinciDM6446開發攻略——DSP開發工程建立知識分享_第2頁
DavinciDM6446開發攻略——DSP開發工程建立知識分享_第3頁
DavinciDM6446開發攻略——DSP開發工程建立知識分享_第4頁
DavinciDM6446開發攻略——DSP開發工程建立知識分享_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。DavinciDM6446開發攻略DSP開發工程建立-前段時間一直忙一個項目,同時在生活上時時提防和抵抗中國地溝油、國外核心轉基因調和油、大豆油、色拉油、大米玉米、可怕的喂藥魚、藥水泡農藥噴無蟲咬的青菜,所以沒時間打理自己的博客,讓開發攻略停頓了一段時間。還好,這個世界上還有很多善良和正義的人們,值得我們繼續戰斗下去。DAVINCIDSP的開發環境分兩部分來講,一是單核DSP運行的環境,二是和ARM建立相互通信DSPSERVER機制。本片先從簡單的單核DSP運行環境說起,因為這個是基礎的必須的東西,同時

2、適合DM643X、DM644X平臺。說到DSP的開發環境,當然離不開CCS,仿真器安裝調試等步驟,這些很多網友都發表過不錯的文章。本人重點介紹DM6446的DSP開發環境。一、CCS安裝介紹目前CCS4.0已經出來,網上有篇文章CCSV4SEED仿真器基本操作指南.pdf的介紹,大家可以了解一下,功能比CCS3.3強大多了,而且配置也比較簡單。但鑒于國內主流開發DAVINCI的CCS版本是3.3,所以在這里具體介紹一下。購買合眾達仿真器或聞亭仿真器,都會提供TICCS3.3,網上也有下載,安裝之前,建議把各種殺毒軟件先關閉掉,然后運行文件包里的setup.exe,會提示你的安裝路徑選擇和平臺選

3、擇界面,見下圖:如果不是開發OMAP芯片、C2000、C5000平臺芯片,這些可以參考上圖,把他們“X”掉,這樣CCS安裝就更省空間。TMS470和C6000平臺一定要選,TMS470包括ARM9的驅動和配置,C6000包括C64、C64+、C67。然后點擊“Next”,按提示安裝下去。二、仿真器驅動安裝介紹選用仿真器,一般就是合眾達SEED和聞亭了,開發DAVINCI平臺,都必須用到560型仿真器,510是不行的,不知道TI當時是怎么想的,仿真器如此貴,也不便于DAVINCI平臺的推廣。三年前PCI560(8000多)和USB560(上萬元)都非常貴,后來推出560PLUS一般都要4000左

4、右。購買兩家公司的仿真器都會提供安裝光盤,里邊有詳細的安裝介紹,這里不累贅。三、建立DSPBIOS例子工程1、配置CCSCCS安裝和仿真器驅動(本人買的是SEED560PLUS)結束后,雙擊桌面SetupCCStudiov3.3,進入配置界面,見下圖主要選擇C64+平臺,xds560,開發DM6437,就選擇C6455XDS560這一項,如果開發開發DM6446,就選擇DM6446XDS560這一項,然后點擊下面“Add”,這樣在配置MySystem左邊出現平臺信息。右鍵點擊“ARM9_0”,選擇“屬性properties”,進入,在GELfile輸入dm644x_dvevm_arm.gel,

5、接著,點擊“C6400PLUS_0”,選擇“屬性properties”,在GELfile輸入dm644x_dvevm_dsp.gel。一般買開發板都會提供相應的GEL文件,最后點擊左下邊“Save&Quit”,保存設置。為了驗證CCS安裝、仿真器安裝和配置是否正確,首先插好仿真器JTAG,如果板子有程序,建議把DM6446BOOTMODE設置為UART模式,目的讓板子發送BOOTME命令,板子沒程序也會發送BOOTME,在這種模式下,才能連接JTAG。運行桌面的CCStudiov3.3,見下圖,給板子上電,確保上面的安裝和配置一切OK,右鍵點擊ICEPICK_C_0,“ConnectDevic

6、e”能連接上的話,表明仿真器等安裝沒問題,見下圖。連接設備連接ARMOpenARM9_0,設置DSP從DDRBOOT連接DSPOpenDSP以上連接如果都OK的話,表明仿真環境已經建立好,這時可以做DSP開發工作了。不過在進行工程開發之前,補充一點東西,有些朋友喜歡更新較新的DSP/BIOS包,DSP/BIOS是一個實時的操作系統,比如bios_setupwin32_5_33_06.exe,或者開發DM6437平臺,則需要安裝DM6437_DVSDK、NDK等開發包。CCS3.3自帶的DSP/BIOS版本比較低,是5.31.02,安裝新的DSP/BIOS包后,要對新的BIOS版本進行設置,點擊

7、菜單上的“Help”的“About”就會彈出下圖:點擊“ComponentManager”,見下圖,選擇新的BIOS版本,從菜單上“Save”,并“OK”退出。關閉CCS,然后再重新啟動CCS,新版本的BIOS就設置好了。2、工程建立通過以上的步驟,我們可以開發DSP程序了,DSP程序分兩種開發模式,算法LIB的開發和系統工程開發,或者把LIB的源碼一起放到工程統一開發。點擊DSP界面菜單“Project”的“New”,出現以下界面,如果是系統工程開發,輸入工程名字,選擇工程保存路徑,點擊Finish,就OK了。如果是算法LIB開發,則按下圖選擇.lib進入工程界面這里邊的工程配置有很多學問,

8、涉及到DSP/BIOS的配置和設計,程序運行效率(優化),大部分DSP的書籍都有介紹,如果這里要詳細一步一步描述,則太浪費時間,我們在這里點到為止,重點介紹DM6446DSP端開發。右鍵點擊工程,dm6446_example.prj,下拉有BuildOptions,這里有Debug模式和Release模式,運行程序時,Debug模式可以設置斷點等一些功能,但運行效率很低。而Release則是正式發布版本模式,對程序做了一些優化,包括流水線等,不能設置斷點。我們以Release模式為例,見下三圖,其他設置保持默認的就可以了,更完善的功能,則需要自己修改,這方面得書籍和網文有很多,CCS菜單Hel

9、p里也有很多描述詳細的文檔。設置完工程配置后,右鍵點擊Soure,添加源碼文件,一般就是*.C、*.CPP、*.asm、*.sa文件,然后添加相應的*.cmd文件,有例子可參考。Include不需要添加,編譯的時候會自動鏈接到工程配置指定的路徑搜索。Libraries則需要添加(CCStudio_v3.3C6000cgtoolslib)里的rts64plus.lib。還有其他LIB,比如自己開發的*.lib,c6400dspliblib下的dsp64x.lib,c6400imgliblib下的img64x.lib,EDMA3LIB,這些根據工程和算法程序需要而添加。對于DM6446產品開發,無

10、論采用TIDSPSERVER機制,還是獨立DSP運行模式,都離不開DSP/BIOS,下圖是新添加DSP/BIOS的方法,當然,你也可以直接使用開發板提供商提供的例子,或從網上下載相關帶DSP/BIOS的例子。選擇ti.platform.evmDM6446,選擇“GlobalSettings”,右鍵進行設置,見下圖,DSP工作頻率,看情況設定,商業級DM6446采用594M,其他設置保持不變。還是在同一個界面,選擇64PLUS,關鍵的地方時L2CFG,就是定義L2內部存儲器CACHE的大小,同時使能MAR128-159,這些L1D、L2的存取速度比DDR2快多了,可惜這兩個片上內存很小,不能把很

11、多程序段定義到這些片上內存運行。同時,因為上面使用了32K的L2,則MEM下面的IRAM處,右鍵選擇屬性配置IRAM的len為32K,否則保存BIOS配置文件*.TCF時會出現錯誤,同樣設置DDR或分配新的內存段(片內和片外),段的地址和長度一定要一一對應,銜接好,不能越界。然后我們對MEM進行設置,同樣右鍵選擇MEM-MemorySectionManager,第一個參數一般為0 x0004,第二個參數默認是0 x400,太小,我們加大一點,0 x4000、0 x8000、0 x10000都可以。“NoDynamicMemoryheaps”,不選,這樣就允許我們在程序里動態申請內存,剛開始是不

12、出現DDR2的,你要先“確定”,再右鍵選擇DDR,入下圖,“createaheapinthismemory”一定要選中,然后heap的大小定義為0 x01000000,16M,這個大小自己定義。這里設置完后,回到上圖,DDR2就出現在下拉條里。這時候,上圖的BIOSdataBIOScode這些設置都可以定義到DDR內存上運行都可以。還有BIOS里的BUF、SYS-SystemSettings、Instrumentation、Scheduling、Synchronization、Input/Output介紹到這里,編譯自己建的工程是沒問題了,CCS仿真也可以運行程序,有關Instrumentation的設置、Scheduling、Synchronization、Input/Output這些在這里就不用累贅了,要認真講完,完全可以寫一本書,其實書店很多DSP的書籍都有介紹,網上各大DSP的論壇也有人舉例如何添加多TSK、PRD、HWI、SWI、SEM、MBX等應用。四、OUT文件的處理生成的OUT文件,可以使用HEX64產生BIN文件,然后通過ARM,字節寫個DSPBOOT的程序,設置控制DSPBOOT的寄存器,就可以把DSP給運行起來,這是一種獨立運行DSP的方法,第二種就是下篇要介紹的TIDSPSERVER機制,如何把OUT文件和CodecEngine結合起來

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論