Visual DSP++軟件使用簡(jiǎn)單介紹
1.開發(fā)工具概述
VDSP++是ADI公司針對(duì)ADI公司的DSP器件而專門開發(fā)的一種使用方便的開發(fā)平臺(tái),它支持ADI公司所有系列的DSP處理器,包括Blackfin系列和ADSP-21XX系列定點(diǎn)處理器、SHARC系列和TigerSHARC系列的浮點(diǎn)處理器的各種型號(hào)處理器。
VDSP++從推出至今已經(jīng)經(jīng)歷了1.0、2.0、3.0、3.5、4.0、4.5及5.0七種版本,相應(yīng)的DSP開發(fā)和調(diào)試功能也不斷增強(qiáng)。下面以常用的VisualDSP++的5.0 up6版本進(jìn)行介紹。
VDSP++開發(fā)工具包中集成了開發(fā)DSP程序所需要的各種工具組件,根據(jù)用戶所購(gòu)買的軟件,VDSP++包含下列組件中的一個(gè)或多個(gè)組件。
- 與VDSP++一體化的集成開發(fā)和調(diào)試環(huán)境(IDDE)
- 帶有實(shí)時(shí)運(yùn)行庫(kù)的C/C++語(yǔ)言最優(yōu)化編譯器
- 匯編程序、鏈接器、預(yù)處理器和檔案庫(kù)
- 程序加載器、分割器
- 模擬器
- EZ—KIT Lite評(píng)估系統(tǒng)(必須單獨(dú)購(gòu)買),以下說(shuō)明使用BF531Core開發(fā)板進(jìn)行說(shuō)明
- 仿真器
- 程序?qū)嵗?
2. Visual DSP++軟件環(huán)境的基本特點(diǎn)
1) 源文件編輯特點(diǎn)
VisualDSP++簡(jiǎn)化了源文件的操作任務(wù),可以非常容易地實(shí)現(xiàn)創(chuàng)建^查看、打印、移動(dòng)和信息定位等相關(guān)文件操作。
- 編輯文本文件。創(chuàng)建和修改源文件,查看由代碼開發(fā)工具生成的文件。
- 源代碼文件是DSP工程開發(fā)的重要組成部分,可以采用C/C++語(yǔ)言或匯編語(yǔ)言進(jìn)行編寫。如果DSP開發(fā)工程的源代碼文件采用匯編程序進(jìn)行編寫,那么DSP開發(fā)工程中還應(yīng)當(dāng)包含鏈接描述文件(.LDF文件)和一些相關(guān)的數(shù)據(jù)文件,而如果DSP開發(fā)工程的源代碼文件采用C/C++語(yǔ)言進(jìn)行編寫,那么相應(yīng)的工程則可不必包含鏈接描述文件。
- 編輯窗口。VisualDSP++編輯器是一個(gè)完整的代碼書寫工具,用于編輯文本文件。查看和編輯多個(gè)編輯窗口的相關(guān)文件,也可為一個(gè)文件打開多個(gè)編輯窗口。
- 為專用語(yǔ)法配置顏色。為文本編輯窗中相關(guān)關(guān)鍵詞、引用、注釋等采用不同的顏色進(jìn)行表示,這一特點(diǎn)提高了查看和搜索文本的效率。
- 與上下文相關(guān)的表達(dá)式評(píng)價(jià)。將鼠標(biāo)指示移至一個(gè)變量上j在一定范圍內(nèi)可以查看變量的值。
- 狀態(tài)圖標(biāo)。用于指明斷點(diǎn),書簽和處理器當(dāng)前執(zhí)行程序指令的在源代碼文件中的位置。
- 查看錯(cuò)誤信息和違規(guī)代碼。通過(guò)突出顯示錯(cuò)誤代碼或按F1鍵,可以在輸出窗口的生成視圖中看到錯(cuò)誤的詳細(xì)信息,而且雙擊錯(cuò)誤行可跳至編輯窗口中的違規(guī)代碼。
2)工程管理特點(diǎn)
VDSP++為處理器應(yīng)用程序的開發(fā)提供了靈活的工程管理,包括創(chuàng)建、定義和編譯等處理器項(xiàng)目所必須的操作。
- 定義和管理工程。管理用戶工程編譯時(shí)所需的相關(guān)的文件和相關(guān)的開發(fā)工具。對(duì)工程的定義只需一次即可,在開發(fā)的過(guò)程中用戶可以根據(jù)需要對(duì)工程靈活地進(jìn)行修改。
- 查看和管理代碼開發(fā)工具。配置選項(xiàng)中確定了代碼開發(fā)工具如何處理輸人文件和生成輸出文件。對(duì)于代碼開發(fā)工具,工具設(shè)置類似于命令行轉(zhuǎn)換。工程的配置選項(xiàng)可以在工程定義的時(shí)候進(jìn)行設(shè)置,也可以在工程開發(fā)的過(guò)程中進(jìn)行修改。
- 查看工程編譯結(jié)果。在進(jìn)行工程編譯的過(guò)程中可以隨時(shí)查看編譯狀態(tài),并且根據(jù)用戶需要,用戶可以隨時(shí)停止工程的編譯過(guò)程。查看工程編譯結(jié)果時(shí),如果工程編譯存在錯(cuò)誤,那么用戶在輸出窗口中雙擊錯(cuò)誤信息則可以查看造成錯(cuò)誤的源代碼,或者重復(fù)錯(cuò)誤信息。
- 管理源代碼文件。根據(jù)工程窗口內(nèi)管理項(xiàng)目中的源文件和文件的依賴項(xiàng),可以依次顯示文件之間的關(guān)系。VisualDSP++使用代碼開發(fā)工具處理工程和生成處理器所需的程序。它也提供了源代碼控制(SCC)界面,使得用戶可以直接在IDDE環(huán)境下完成源代碼的控制操作。
3)調(diào)試特點(diǎn)
在調(diào)試一些工程的過(guò)程中,Visual DSP++提供了以下一些工具和功能為用戶服務(wù)。
- 查看C/C++語(yǔ)言和匯編語(yǔ)言的聯(lián)合編程的源代碼文件。在匯編源代碼中,行數(shù)和符號(hào)信息有利于用戶在源文件上查看和調(diào)試匯編代碼。
- 運(yùn)行命令行腳本。通過(guò)使用腳本,用戶可以使用它制定調(diào)試過(guò)程中的主要參數(shù)和特性。
- 使用存儲(chǔ)器表達(dá)式。使用存儲(chǔ)器相關(guān)的表達(dá)式。
- 利用斷點(diǎn)查看寄存器和存儲(chǔ)器?梢钥焖偬砑雍鸵瞥龜帱c(diǎn),使能和使斷點(diǎn)失靈。
- 設(shè)置模擬觀察點(diǎn)。對(duì)堆棧、寄存器、存儲(chǔ)器和圖標(biāo)設(shè)置觀察點(diǎn)可以停止程序的執(zhí)行,方便調(diào)試過(guò)程中觀察相關(guān)信息。
- 統(tǒng)計(jì)描述目標(biāo)處理器的指令執(zhí)行數(shù)(該功能僅用于JTAG的仿真調(diào)試目標(biāo))。用戶可以隨意設(shè)置統(tǒng)計(jì)過(guò)程的取樣,并將統(tǒng)計(jì)結(jié)果采用圖形顯示,根據(jù)統(tǒng)計(jì)結(jié)果可以輕松地觀察到程序中最耗時(shí)的指令部分。
- 線性描述目標(biāo)處理器的指令執(zhí)行數(shù)(該功能僅適用Visual DSP++的模擬調(diào)試目標(biāo))。對(duì)每個(gè)DSP的PC寄存器進(jìn)行取樣,統(tǒng)計(jì)它們的執(zhí)行情況,并將結(jié)果采用圖形顯示。該功能與統(tǒng)計(jì)描述目標(biāo)處理器的指令執(zhí)行數(shù)功能類似,只不過(guò)該功能只能在Visual DSP++模擬下使用,而統(tǒng)計(jì)描述目標(biāo)處理器的指令執(zhí)行數(shù)功能在JTAG仿真器方式下使用。
- 模擬I/O端口數(shù)據(jù)流、中斷產(chǎn)生。通過(guò)該工具可以模擬串口或存儲(chǔ)映射I/O進(jìn)行數(shù)據(jù)流傳輸和模擬處理器通用中斷的產(chǎn)生。
- 創(chuàng)建用戶自定義的寄存器窗口。配置一個(gè)自定義的寄存器窗口來(lái)顯示指定的寄存器組。
- 根據(jù)處理器存儲(chǔ)器中的數(shù)值進(jìn)行繪圖。該工具將處理器存儲(chǔ)器中的數(shù)據(jù)以圖像的形式進(jìn)行顯示,并且用戶可以根據(jù)自己的需要選擇多樣的繪圖風(fēng)格、典型數(shù)據(jù)處理功能和外觀顯示方式。
- 跟蹤程序運(yùn)行歷史,跟蹤用戶程序,可以獲得用戶程序是如何達(dá)到用戶設(shè)置的特定的程序點(diǎn),并顯示讀、寫和符號(hào)名稱等相關(guān)信息。
- 查看匯編指令的流水線深度。通過(guò)流水線界面可以查看目標(biāo)處理器流水線的階段。
4)VDK特點(diǎn)
VisualDSP++核(VDK)是一種可擴(kuò)展的軟件執(zhí)行程序,專門用于高效開發(fā)ADI公司DSP處理器的操作。VisualDSP++軟件集成了VisualDSP++核。VDK能夠方便用戶從軟件中獲取硬件實(shí)現(xiàn)的詳細(xì)信息,使得用戶可以更加專心的完成處理算法的實(shí)現(xiàn)。VDK為所有處理器應(yīng)用開發(fā)過(guò)程階段提供了基本模塊,它們的性能描述如下:
- 自動(dòng)化。VisualDSP++可以根據(jù)用戶指定的語(yǔ)言自動(dòng)生成源代碼框架。
- 確定性。VisualDSP++明確指明VDK應(yīng)用程序接口執(zhí)行時(shí)間的確定性。
- 多任務(wù)處理。VDK的任務(wù)問(線程)是相互獨(dú)立的,并且每個(gè)線程都有自己的棧。
- 模塊化。VDK包含各種組件,并且在以后的版本中將會(huì)提供更多的功能。
- 方便移植性。大部分的核組件可以用ANSI標(biāo)準(zhǔn)的C或C++語(yǔ)言編寫,這將方便地實(shí)現(xiàn)代碼在不同處理器之間的移植
- 優(yōu)先性。VDK的優(yōu)先級(jí)的調(diào)度表可以使高優(yōu)先級(jí)的線程無(wú)需等待信號(hào)運(yùn)行,隨時(shí)可以執(zhí)行。
- 原型化。VDK和VisualDSP++包含模板文件,可以方便用戶創(chuàng)建原始文件,且整個(gè)應(yīng)用程序是原型化的,需要用戶根據(jù)需要進(jìn)行測(cè)試和修改。
- 可靠性。VDK提供實(shí)時(shí)運(yùn)行過(guò)程中的錯(cuò)誤檢查。
- 可擴(kuò)展性。如果某個(gè)項(xiàng)目不包括該屬性,那么目標(biāo)系統(tǒng)中將不包含其相關(guān)的代碼支持。
|