Blackfin處理器的調(diào)試功能對(duì)成功設(shè)計(jì)的作用
發(fā)布時(shí)間:2007/8/20 0:00:00 訪問(wèn)次數(shù):659
隨著嵌入式處理應(yīng)用越來(lái)越復(fù)雜、投放市場(chǎng)的時(shí)間越來(lái)越急迫,調(diào)試技術(shù)變得越來(lái)越重要。調(diào)試技術(shù)對(duì)于擁有一大批供其使用的調(diào)試工具開發(fā)商來(lái)說(shuō)同樣重要,有理由表明對(duì)他們更加重要的是應(yīng)該了解到從一開始選擇什么樣的調(diào)試工具能夠跟蹤并解決應(yīng)用中的問(wèn)題。為此, 本文將以ADI公司的Blackfin媒體處理器系列產(chǎn)品為例,討論基于軟件和硬件的內(nèi)置調(diào)試功能。
軟件工具
軟件工具在系統(tǒng)開發(fā)過(guò)程中起到兩個(gè)重要作用。第一,軟件工具允許在訂制的硬件提供之前開始開發(fā)工作。它能夠從功能角度對(duì)算法進(jìn)行仿真,同時(shí)能夠利用精確周期內(nèi)核仿真,在開發(fā)過(guò)程的初期對(duì)性能進(jìn)行評(píng)估。
Blackfin 處理器VisualDSP++工具套件提供幾項(xiàng)主要功能,允許軟件開發(fā)商預(yù)測(cè)最終目標(biāo)能夠達(dá)到的性能。因?yàn)锽lackfin處理器體系結(jié)構(gòu)從根本上支持高效編譯代碼,因此大多數(shù)開發(fā)項(xiàng)目能夠用C或C++完成。這項(xiàng)功能允許在項(xiàng)目開始的時(shí)候?qū)F(xiàn)有的代碼基快速整合到該項(xiàng)目中。這樣就能利用很多設(shè)計(jì)結(jié)果而無(wú)需探究體系結(jié)構(gòu)細(xì)節(jié)。
一旦初始項(xiàng)目建立起來(lái),程序員有幾種仿真選擇,允許在周期精度和仿真速度之間靈活地折衷。VisualDSP++開發(fā)工具提供代碼運(yùn)行時(shí)間統(tǒng)計(jì)分析功能,作為其仿真器和模擬器的一部分。該工具允許程序員看到一個(gè)應(yīng)用程序不同部分的運(yùn)行時(shí)間是如何分配的,從而為優(yōu)化工作提供方向。
即使Blackfin編譯器的性能對(duì)于信號(hào)處理應(yīng)用和MCU應(yīng)用(低周期數(shù)和低字節(jié)數(shù))都是杰出的,但是總是有一部分代碼需要利用基于匯編語(yǔ)言的程序庫(kù)進(jìn)一步優(yōu)化。雖然這種情況在大型開發(fā)項(xiàng)目中不常見,但是VisualDSP++仿真器提供了流水線查看器以便用圖形方式識(shí)別失速(停止),從而進(jìn)一步優(yōu)化。由于Blackfin指令流水線是互鎖的,因此失速不需要程序員手動(dòng)跟蹤和管理。即使如此,這種查看重要部分代碼失速的能力通常允許程序員能夠進(jìn)行小調(diào)整從而實(shí)現(xiàn)對(duì)周期數(shù)的極大改進(jìn)。
該仿真器的另外一個(gè)便捷功能是高速緩存查看器。由于始終存在系統(tǒng)設(shè)計(jì)工程師必須對(duì)片內(nèi)和片外存儲(chǔ)器大小進(jìn)行折中的問(wèn)題,所以對(duì)于預(yù)測(cè)如何根據(jù)指令流程完成高速緩存以及顯示實(shí)際上如何訪問(wèn)數(shù)據(jù),高速緩存查看器能起到非常重要的作用。(查看器語(yǔ)句示例如下)
VisualDSP++ Debug Tools Aid Code Optimization=VisualDSP++
調(diào)試工具輔助代碼優(yōu)化
Pipeline viewer finds stalls in critical sections of code=
流水線查看器發(fā)現(xiàn)關(guān)鍵部分代碼失速
Cache viewer helps programmer understand cache efficiency (hits and misses)=
高速緩存查看器幫助程序員了解高速緩存效率(命中率和缺失率)
Code profiler shows where most time is spent during program execution=
代碼運(yùn)行時(shí)間分析器顯示在程序執(zhí)行期間何處耗時(shí)最多
硬件平臺(tái)
一旦整個(gè)系統(tǒng)經(jīng)過(guò)仿真,算法和大多數(shù)外設(shè)都可以利用低成本的EZ-KIT Lite評(píng)估平臺(tái)操作。EZ-KIT評(píng)估平臺(tái)為開發(fā)商提供一種評(píng)估Blackfin處理器的方法,該處理器適合多種應(yīng)用,例如音頻、視頻和其它處理計(jì)算量很大的算法。例如,ADSP-BF533 EZ-KIT Lite評(píng)估平臺(tái)包括視頻和音頻解碼器和編碼器,以及板上SDRAM(32Mb)和閃存(2Mb)存儲(chǔ)器。另外,可設(shè)置的標(biāo)志引腳能夠連接到按鈕和LED。
USB調(diào)試器接口允許利用簡(jiǎn)單的USB接口連接到評(píng)估板,如果直接訪問(wèn)VisualDSP++ PC主機(jī)上的工具套件,為了提高性能,JTAG在線仿真器能夠很容易連接到評(píng)估板。
可提供的ADSP-BF533 EZ-KIT 評(píng)估平臺(tái)的EZ-Exterder 子卡允許開發(fā)商能夠連接多個(gè)高速數(shù)據(jù)轉(zhuǎn)換器評(píng)估板(ADC、DAC和混合信號(hào)轉(zhuǎn)換器),CMOS圖像傳感器評(píng)估板和一些TFT LCD顯示器。它還能為電路配置提供試驗(yàn)板區(qū)域,并且?guī)缀蹩梢詾锽lackfin處理器的每一個(gè)引腳提供檢測(cè)。
芯片內(nèi)置功能
Blackfin處理器的體系結(jié)構(gòu)為設(shè)計(jì)工程師提供了內(nèi)置硬件調(diào)試的附加功能。這些功能包括性能監(jiān)視器、周期計(jì)數(shù)器、監(jiān)測(cè)單元和跟蹤單元。
性能監(jiān)視器
Blackfin處理器系列中的每一種處理器都有兩個(gè)寄存器,它們能夠通過(guò)編程對(duì)特定“中心性能”事件的發(fā)生次數(shù)進(jìn)行計(jì)數(shù)。下表總結(jié)了能夠跟蹤的獨(dú)立事件。
開發(fā)商可以利用性能監(jiān)視事件來(lái)發(fā)現(xiàn)優(yōu)化處理器的重點(diǎn)區(qū)域。通過(guò)性能監(jiān)視器提供對(duì)芯片中實(shí)際發(fā)生事件的觀察力,而不是通過(guò)仿真預(yù)測(cè)這些事件。
我們以數(shù)據(jù)訪問(wèn)高速緩存和指令訪問(wèn)高速緩存性能為例。性能監(jiān)視器根據(jù)數(shù)據(jù)和指令訪問(wèn)高速緩存缺失率提供實(shí)際信息。知道了高速緩存缺失率,程序員能夠利用VisualDSP++ Expert Linker開發(fā)工具交互地移動(dòng)存儲(chǔ)器中的數(shù)據(jù)和指令以實(shí)現(xiàn)最優(yōu)性能。
性能監(jiān)視器如何能幫助處理器的另外一個(gè)有效實(shí)例是當(dāng)訪問(wèn)內(nèi)部存儲(chǔ)體時(shí)采用內(nèi)核和DMA(直接存儲(chǔ)器訪問(wèn))引擎相互作用的方式。Blackfin處理器有一個(gè)集成的DMA控制器,它能夠高效的移動(dòng)數(shù)據(jù)無(wú)需與內(nèi)核相互作用。內(nèi)核安排數(shù)據(jù)傳輸,并且當(dāng)數(shù)據(jù)緩沖器準(zhǔn)備好處理時(shí)通知內(nèi)核。處理
隨著嵌入式處理應(yīng)用越來(lái)越復(fù)雜、投放市場(chǎng)的時(shí)間越來(lái)越急迫,調(diào)試技術(shù)變得越來(lái)越重要。調(diào)試技術(shù)對(duì)于擁有一大批供其使用的調(diào)試工具開發(fā)商來(lái)說(shuō)同樣重要,有理由表明對(duì)他們更加重要的是應(yīng)該了解到從一開始選擇什么樣的調(diào)試工具能夠跟蹤并解決應(yīng)用中的問(wèn)題。為此, 本文將以ADI公司的Blackfin媒體處理器系列產(chǎn)品為例,討論基于軟件和硬件的內(nèi)置調(diào)試功能。
軟件工具
軟件工具在系統(tǒng)開發(fā)過(guò)程中起到兩個(gè)重要作用。第一,軟件工具允許在訂制的硬件提供之前開始開發(fā)工作。它能夠從功能角度對(duì)算法進(jìn)行仿真,同時(shí)能夠利用精確周期內(nèi)核仿真,在開發(fā)過(guò)程的初期對(duì)性能進(jìn)行評(píng)估。
Blackfin 處理器VisualDSP++工具套件提供幾項(xiàng)主要功能,允許軟件開發(fā)商預(yù)測(cè)最終目標(biāo)能夠達(dá)到的性能。因?yàn)锽lackfin處理器體系結(jié)構(gòu)從根本上支持高效編譯代碼,因此大多數(shù)開發(fā)項(xiàng)目能夠用C或C++完成。這項(xiàng)功能允許在項(xiàng)目開始的時(shí)候?qū)F(xiàn)有的代碼基快速整合到該項(xiàng)目中。這樣就能利用很多設(shè)計(jì)結(jié)果而無(wú)需探究體系結(jié)構(gòu)細(xì)節(jié)。
一旦初始項(xiàng)目建立起來(lái),程序員有幾種仿真選擇,允許在周期精度和仿真速度之間靈活地折衷。VisualDSP++開發(fā)工具提供代碼運(yùn)行時(shí)間統(tǒng)計(jì)分析功能,作為其仿真器和模擬器的一部分。該工具允許程序員看到一個(gè)應(yīng)用程序不同部分的運(yùn)行時(shí)間是如何分配的,從而為優(yōu)化工作提供方向。
即使Blackfin編譯器的性能對(duì)于信號(hào)處理應(yīng)用和MCU應(yīng)用(低周期數(shù)和低字節(jié)數(shù))都是杰出的,但是總是有一部分代碼需要利用基于匯編語(yǔ)言的程序庫(kù)進(jìn)一步優(yōu)化。雖然這種情況在大型開發(fā)項(xiàng)目中不常見,但是VisualDSP++仿真器提供了流水線查看器以便用圖形方式識(shí)別失速(停止),從而進(jìn)一步優(yōu)化。由于Blackfin指令流水線是互鎖的,因此失速不需要程序員手動(dòng)跟蹤和管理。即使如此,這種查看重要部分代碼失速的能力通常允許程序員能夠進(jìn)行小調(diào)整從而實(shí)現(xiàn)對(duì)周期數(shù)的極大改進(jìn)。
該仿真器的另外一個(gè)便捷功能是高速緩存查看器。由于始終存在系統(tǒng)設(shè)計(jì)工程師必須對(duì)片內(nèi)和片外存儲(chǔ)器大小進(jìn)行折中的問(wèn)題,所以對(duì)于預(yù)測(cè)如何根據(jù)指令流程完成高速緩存以及顯示實(shí)際上如何訪問(wèn)數(shù)據(jù),高速緩存查看器能起到非常重要的作用。(查看器語(yǔ)句示例如下)
VisualDSP++ Debug Tools Aid Code Optimization=VisualDSP++
調(diào)試工具輔助代碼優(yōu)化
Pipeline viewer finds stalls in critical sections of code=
流水線查看器發(fā)現(xiàn)關(guān)鍵部分代碼失速
Cache viewer helps programmer understand cache efficiency (hits and misses)=
高速緩存查看器幫助程序員了解高速緩存效率(命中率和缺失率)
Code profiler shows where most time is spent during program execution=
代碼運(yùn)行時(shí)間分析器顯示在程序執(zhí)行期間何處耗時(shí)最多
硬件平臺(tái)
一旦整個(gè)系統(tǒng)經(jīng)過(guò)仿真,算法和大多數(shù)外設(shè)都可以利用低成本的EZ-KIT Lite評(píng)估平臺(tái)操作。EZ-KIT評(píng)估平臺(tái)為開發(fā)商提供一種評(píng)估Blackfin處理器的方法,該處理器適合多種應(yīng)用,例如音頻、視頻和其它處理計(jì)算量很大的算法。例如,ADSP-BF533 EZ-KIT Lite評(píng)估平臺(tái)包括視頻和音頻解碼器和編碼器,以及板上SDRAM(32Mb)和閃存(2Mb)存儲(chǔ)器。另外,可設(shè)置的標(biāo)志引腳能夠連接到按鈕和LED。
USB調(diào)試器接口允許利用簡(jiǎn)單的USB接口連接到評(píng)估板,如果直接訪問(wèn)VisualDSP++ PC主機(jī)上的工具套件,為了提高性能,JTAG在線仿真器能夠很容易連接到評(píng)估板。
可提供的ADSP-BF533 EZ-KIT 評(píng)估平臺(tái)的EZ-Exterder 子卡允許開發(fā)商能夠連接多個(gè)高速數(shù)據(jù)轉(zhuǎn)換器評(píng)估板(ADC、DAC和混合信號(hào)轉(zhuǎn)換器),CMOS圖像傳感器評(píng)估板和一些TFT LCD顯示器。它還能為電路配置提供試驗(yàn)板區(qū)域,并且?guī)缀蹩梢詾锽lackfin處理器的每一個(gè)引腳提供檢測(cè)。
芯片內(nèi)置功能
Blackfin處理器的體系結(jié)構(gòu)為設(shè)計(jì)工程師提供了內(nèi)置硬件調(diào)試的附加功能。這些功能包括性能監(jiān)視器、周期計(jì)數(shù)器、監(jiān)測(cè)單元和跟蹤單元。
性能監(jiān)視器
Blackfin處理器系列中的每一種處理器都有兩個(gè)寄存器,它們能夠通過(guò)編程對(duì)特定“中心性能”事件的發(fā)生次數(shù)進(jìn)行計(jì)數(shù)。下表總結(jié)了能夠跟蹤的獨(dú)立事件。
開發(fā)商可以利用性能監(jiān)視事件來(lái)發(fā)現(xiàn)優(yōu)化處理器的重點(diǎn)區(qū)域。通過(guò)性能監(jiān)視器提供對(duì)芯片中實(shí)際發(fā)生事件的觀察力,而不是通過(guò)仿真預(yù)測(cè)這些事件。
我們以數(shù)據(jù)訪問(wèn)高速緩存和指令訪問(wèn)高速緩存性能為例。性能監(jiān)視器根據(jù)數(shù)據(jù)和指令訪問(wèn)高速緩存缺失率提供實(shí)際信息。知道了高速緩存缺失率,程序員能夠利用VisualDSP++ Expert Linker開發(fā)工具交互地移動(dòng)存儲(chǔ)器中的數(shù)據(jù)和指令以實(shí)現(xiàn)最優(yōu)性能。
性能監(jiān)視器如何能幫助處理器的另外一個(gè)有效實(shí)例是當(dāng)訪問(wèn)內(nèi)部存儲(chǔ)體時(shí)采用內(nèi)核和DMA(直接存儲(chǔ)器訪問(wèn))引擎相互作用的方式。Blackfin處理器有一個(gè)集成的DMA控制器,它能夠高效的移動(dòng)數(shù)據(jù)無(wú)需與內(nèi)核相互作用。內(nèi)核安排數(shù)據(jù)傳輸,并且當(dāng)數(shù)據(jù)緩沖器準(zhǔn)備好處理時(shí)通知內(nèi)核。處理
熱門點(diǎn)擊
- 采用SAA7110和AL250集成芯片TV/
- 分形圖像壓縮
- 新一代數(shù)字信號(hào)處理器TMS320C55X
- 閉路電視數(shù)字視頻編解碼器ADV611/ADV
- TMS320LF240x DSP控制器的應(yīng)用
- DTMF信號(hào)收、發(fā)芯片MT8888原理及應(yīng)用
- PC微機(jī)與松下FPIPLC遠(yuǎn)程通信的與實(shí)現(xiàn)
- 卷積編譯碼盤的設(shè)計(jì)與實(shí)現(xiàn)
- 用TMS320LF2407和FPGA實(shí)現(xiàn)電能
- 自適應(yīng)計(jì)算減少Q(mào)CELP功率
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究