本站小編為你精心準(zhǔn)備了集成系統(tǒng)開(kāi)造環(huán)境設(shè)計(jì)及實(shí)踐參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫(xiě)作靈感。歡迎深入閱讀并收藏。
總體設(shè)計(jì)
BWDSP100集成開(kāi)發(fā)環(huán)境是一種功能完善和方便的集成調(diào)試開(kāi)發(fā)軟件平臺(tái)。它通過(guò)可視化的圖形界面和用戶進(jìn)行交互,程序開(kāi)發(fā)人員可以在此界面中進(jìn)行高效的文件、工程管理,靈活地在編輯、調(diào)試等不同工作模式間進(jìn)行切換,實(shí)現(xiàn)高效率的程序開(kāi)發(fā)。調(diào)試器能夠?qū)⑿阅芙y(tǒng)計(jì)信息以圖形化的方式顯示出來(lái),使程序員能夠迅速發(fā)現(xiàn)程序運(yùn)行的瓶頸所在和需要進(jìn)一步優(yōu)化的程序塊。集成開(kāi)發(fā)環(huán)境包括圖形化界面、C編譯器、宏預(yù)處理器、規(guī)則檢查器、匯編器、鏈接器、反匯編器、庫(kù)生成器、加載器、一個(gè)精確到時(shí)鐘周期的指令級(jí)模擬器和一個(gè)內(nèi)容豐富的DSP算法庫(kù)。軟件的總體結(jié)構(gòu)如圖1所示。
◆圖形化界面通過(guò)可視化的圖形界面和用戶交互,程序開(kāi)發(fā)人員可以在此界面中進(jìn)行高效的工程管理,靈活地在編輯,調(diào)試等不同工作模式間進(jìn)行切換,實(shí)現(xiàn)高效率的程序開(kāi)發(fā)。調(diào)試器能夠?qū)⑿阅芙y(tǒng)計(jì)信息以圖形化的方式顯示出來(lái),使程序員能夠迅速發(fā)現(xiàn)程序的瓶頸所在和需要進(jìn)一步優(yōu)化的程序塊;
◆統(tǒng)一的調(diào)試界面與多處理器支持為軟件模擬器(Simulator)和硬件仿真器(Emulator)提供一致的Debugger界面。在進(jìn)行軟件模擬時(shí),在后臺(tái)可以同時(shí)運(yùn)行多個(gè)ISS(InstructionSetSimulator),每個(gè)ISS對(duì)應(yīng)一個(gè)虛擬處理器,Debugger界面可以使用TCP/IP協(xié)議連接至其中某個(gè)ISS進(jìn)行調(diào)試,并可以在不同ISS間進(jìn)行切換,以實(shí)現(xiàn)多處理器調(diào)試的功能。在硬件仿真時(shí),Debugger同樣可以通過(guò)JTAG鏈實(shí)現(xiàn)多處理器的調(diào)試;
◆支持高級(jí)語(yǔ)言編程和調(diào)試支持匯編語(yǔ)言編程和C語(yǔ)言編程,對(duì)C語(yǔ)言的支持一方面可以大大縮短程序開(kāi)發(fā)周期,提高代碼的可重用性;
◆聯(lián)機(jī)幫助功能聯(lián)機(jī)幫助將提供搜索和索引功能,可以迅速查找一些關(guān)鍵詞和命令的用法,同時(shí)也會(huì)集成一些相關(guān)的應(yīng)用文檔和手冊(cè)資料等。
圖形化操作界面
為了高效且高質(zhì)量的設(shè)計(jì)開(kāi)發(fā)BWDSP100應(yīng)用系統(tǒng),優(yōu)秀的集成開(kāi)發(fā)環(huán)境至關(guān)重要。BWDSP100集成開(kāi)發(fā)環(huán)境具有強(qiáng)大的工程管理和編輯功能模塊;編譯模塊;調(diào)試模塊;寄存器管理模塊;內(nèi)存管理模塊;流水線管理模塊;性能統(tǒng)計(jì)模塊。其具體功能模塊結(jié)構(gòu)圖如圖2所示。
1工程管理和編輯器模塊
在一個(gè)工作空間(workspace)中可以建立多個(gè)工程,每個(gè)工程對(duì)應(yīng)多片調(diào)試中的一片處理器,在每個(gè)工程中可以建立多個(gè)源文件,包括匯編以及鏈接描述文件,并可以隨時(shí)添加、刪除、修改選定的文件,并可以對(duì)整個(gè)工程進(jìn)行編譯鏈接。編輯器能夠自動(dòng)識(shí)別關(guān)鍵字、注釋等,并以不同的顏色顯示出來(lái),也可以設(shè)置不同的顏色來(lái)加以區(qū)分,支持其他標(biāo)準(zhǔn)的編輯操作,還可以設(shè)置字體的大小,TAB鍵的寬度以及工具鏈中參數(shù)的設(shè)置。
2編譯模塊
支持BWDSP100格式匯編語(yǔ)言和標(biāo)準(zhǔn)C語(yǔ)言的源文件編譯,并能夠提供詳細(xì)的準(zhǔn)確的編譯信息,如錯(cuò)誤文件名、行號(hào)、錯(cuò)誤原因等。
3調(diào)試管理模塊
調(diào)試器(Debugger)集成了指令集模擬器(Simulator)、硬件仿真器(Emulator)等,而且采用了相同了功能和統(tǒng)一的圖形交互界面。調(diào)試器支持匯編級(jí)和C級(jí)代碼調(diào)試,可以同時(shí)查看編輯窗口、輸出窗口、反匯編窗口、跟蹤變量等。在調(diào)試源文件時(shí),可以在標(biāo)號(hào)或地址上設(shè)置斷點(diǎn),也可以在寄存器、存儲(chǔ)器、堆棧的位置上設(shè)置條件觀察點(diǎn)等。
支持多處理器調(diào)試,在統(tǒng)一界面上最多可以支持8片處理器的同時(shí)調(diào)試。多處理器可以同時(shí)操作,如指令單步,周期單步、連續(xù)運(yùn)行,設(shè)置斷點(diǎn)和掛起等,也可以只在某一個(gè)處理器上進(jìn)行調(diào)試,查看其寄存器窗口和存儲(chǔ)器,反匯編窗口,流水線觀察窗口等等。圖形界面的調(diào)試器支持匯編源代碼級(jí)調(diào)試,可進(jìn)行純軟件的模擬,也可以進(jìn)行基于目標(biāo)板的仿真,同時(shí)還可以模擬并行的I/O接口,外部中斷和控制信號(hào)。同時(shí),調(diào)試器提供了大量的性能統(tǒng)計(jì)工具,程序員可以用來(lái)分析和驗(yàn)證算法,如強(qiáng)大的繪圖功能增強(qiáng)了數(shù)據(jù)的可視化能力,可以分析算法的正確性。
程序員可以在不干擾處理器運(yùn)行的情況下訪問(wèn)處理器,這一獨(dú)特功能是程序員能以被動(dòng)方式獲取重要代碼的執(zhí)行情況而不中斷程序的實(shí)時(shí)操作,可以快速而有效的找出軟件的瓶頸所在。通過(guò)使用性能統(tǒng)計(jì)工具,程序員可以將注意力集中到影響程序性能的區(qū)域并采取相應(yīng)補(bǔ)救措施。整個(gè)調(diào)試器有輸出、編輯、反匯編、表達(dá)式、局部變量、統(tǒng)計(jì)分析、寄存器、存儲(chǔ)器、存儲(chǔ)器映射、多處理器、目標(biāo)載入、畫(huà)圖等功能窗口構(gòu)成。在匯編程序時(shí),程序員可以進(jìn)行以下操作:
◆查看匯編代碼;
◆插入斷點(diǎn),定制寄存器窗口;
◆根據(jù)寄存器,存儲(chǔ)器和堆棧設(shè)置條件斷點(diǎn);
◆跟蹤指令執(zhí)行,查看指令流水;
◆對(duì)執(zhí)行的程序進(jìn)行統(tǒng)計(jì)性能分析;
◆對(duì)存儲(chǔ)器進(jìn)行Fill、Dump和繪圖操作;
◆比較圖的繪制,數(shù)據(jù)來(lái)源于文件或內(nèi)存;
◆執(zhí)行源程序級(jí)調(diào)試;
◆查看標(biāo)準(zhǔn)的輸入輸出信息。
4內(nèi)存管理模塊
◆較豐富的內(nèi)存查看窗口,用戶可以輸入任何一個(gè)有效的地址或標(biāo)簽,內(nèi)存查看窗口自動(dòng)切換到輸入地址處;
◆提供用戶程序中的全局標(biāo)簽及對(duì)應(yīng)地址,方便用戶調(diào)試使用:
◆提供了導(dǎo)入導(dǎo)出功能,并提供了豐富的導(dǎo)入導(dǎo)出數(shù)據(jù)格式,如16進(jìn)制,8進(jìn)制等等,功能使用指南詳見(jiàn)本章第四節(jié)開(kāi)發(fā)步驟;
◆提供較豐富的二維和三維繪圖功能。
5寄存器管理模塊
◆提供一個(gè)全部寄存器選擇窗口,供用戶自己選擇,方便簡(jiǎn)單,一次既可以選擇一個(gè)組,也可選擇多個(gè)或其中一個(gè);
◆用戶自定義寄存器組,一次配置,自動(dòng)保存,用戶不需重復(fù)配置;
◆把常用的寄存器組提出來(lái)放在菜單項(xiàng)上,便于用戶快速查看寄存器。
6流水線管理模塊
BWDSP100共有11級(jí)流水線,分別為取指3級(jí)、指令緩沖池3級(jí)、譯碼2級(jí)、取操作數(shù)一級(jí)、執(zhí)行一級(jí)及寫(xiě)回一級(jí),采用多級(jí)取指支持分支預(yù)測(cè),減少流水線的性能開(kāi)銷(xiāo)。流水線的基本結(jié)構(gòu)如圖3所示。
7性能統(tǒng)計(jì)模塊
調(diào)試器能夠隨機(jī)采樣目標(biāo)處理器并將采樣結(jié)果數(shù)據(jù)以圖形化的方式顯示出來(lái)。通過(guò)跟蹤、時(shí)間統(tǒng)計(jì),程序員能夠迅速發(fā)現(xiàn)DSP程序中什么地方最耗時(shí)間以及發(fā)現(xiàn)程序的瓶頸和需要進(jìn)一步優(yōu)化的程序塊。也可以用調(diào)試產(chǎn)生中斷、I/O輸出、I/O輸入等來(lái)仿真真實(shí)的應(yīng)用環(huán)境。在程序運(yùn)行過(guò)程中能夠查看寄存器,存儲(chǔ)器中數(shù)值的變化。性能統(tǒng)計(jì)模塊主要功能如下:
◆統(tǒng)計(jì)每個(gè)執(zhí)行宏中各運(yùn)算單元的瞬間使用率;
◆統(tǒng)計(jì)每個(gè)執(zhí)行宏中各運(yùn)算單元的總使用率;
◆以圖形化方式直觀顯示統(tǒng)計(jì)數(shù)據(jù)。
編譯器
BWDSP100編譯器(BWCC)采用的編譯器基礎(chǔ)設(shè)施是openimpact。移植過(guò)后的編譯器能夠用于處理支持ISO/C89標(biāo)準(zhǔn)的C程序生成BWDSP100可執(zhí)行的代碼;且BWCC支持通過(guò)編譯制導(dǎo)支持C語(yǔ)言擴(kuò)展,這些擴(kuò)展是為了更好利用BWDSP100的底層體系結(jié)構(gòu)。主要特性如下:
◆支持-O0,-O1優(yōu)化選項(xiàng);
◆支持-g選項(xiàng)下stabs格式調(diào)試信息的生成;
◆支持intrinsic內(nèi)建函數(shù);
◆支持pragma編譯制導(dǎo);
◆支持Windows2000和WindowsXP操作系統(tǒng);
◆支持為BWDSP100定制的嵌入式匯編。BWCC基本數(shù)據(jù)類(lèi)型如表1所示。
調(diào)試器
BWDSP100集成開(kāi)發(fā)環(huán)境調(diào)試器提供兩種調(diào)試模式:一是基于軟件模擬器,稱(chēng)為模擬器調(diào)試模式(簡(jiǎn)稱(chēng)Simulator調(diào)試);二是基于硬件仿真器,稱(chēng)為仿真器調(diào)試模式(簡(jiǎn)稱(chēng)Emulator調(diào)試)。該調(diào)試器不僅支持單片調(diào)試,而且支持多處理器調(diào)試,多處理器調(diào)試的功能包括:管理多個(gè)處理器、控制多個(gè)處理器運(yùn)行、同步運(yùn)行多個(gè)處理器、訪問(wèn)一個(gè)處理器的狀態(tài)信息等。支持多處理器調(diào)試的調(diào)試器是用戶開(kāi)發(fā)多處理器應(yīng)用系統(tǒng)的高效工具。
1軟件調(diào)試器
軟件模擬調(diào)試是用軟件模擬器(Simulator)模擬目標(biāo)機(jī),并在模擬器上調(diào)試目標(biāo)程序的調(diào)試方法。模擬器核心是對(duì)目標(biāo)機(jī)進(jìn)行指令級(jí)或機(jī)器周期級(jí)模擬。軟件模擬器與調(diào)試器一起運(yùn)行在宿主機(jī)上,相當(dāng)于虛擬的目標(biāo)機(jī),模擬器運(yùn)行程序的行為與實(shí)際目標(biāo)機(jī)一致。被調(diào)試的程序運(yùn)行在模擬器上。集成開(kāi)發(fā)環(huán)境集成了機(jī)器周期級(jí)指令集模擬器BWISS。BWISS可精確模擬每個(gè)時(shí)鐘周期處理器的工作行為,包括分支預(yù)測(cè)、數(shù)據(jù)相關(guān)、中斷和異常的處理等。BWISS使得用戶在硬件板卡尚不具備之前就可以開(kāi)展DSP的軟件開(kāi)發(fā)工作。
2硬件仿真器
硬件仿真調(diào)試是借助JTAG片上調(diào)試技術(shù)實(shí)現(xiàn)的,是完全基于硬件邏輯的調(diào)試。片上調(diào)試是在處理器內(nèi)部加入額外的硬件調(diào)試模塊,處理器的工作模式被分為正常模式和調(diào)試模式。當(dāng)滿足一定的條件時(shí),處理器就進(jìn)入調(diào)試模式。在調(diào)試模式下,處理器由硬件調(diào)試模塊控制。調(diào)試器通過(guò)向硬件調(diào)試模塊發(fā)送特定的調(diào)試命令實(shí)現(xiàn)相應(yīng)調(diào)試操作。片上調(diào)試采用在線測(cè)試技術(shù)實(shí)現(xiàn)。調(diào)試中所獲得的系統(tǒng)狀態(tài)和故障是系統(tǒng)的真實(shí)反映,能夠達(dá)到最大的調(diào)試準(zhǔn)確性和調(diào)試效率。整個(gè)調(diào)試系統(tǒng)由三部分組成:調(diào)試器、在線仿真器(In-CircuitEmulator,ICE)和目標(biāo)板。如圖4所示。
集成開(kāi)發(fā)環(huán)境中的調(diào)試器運(yùn)行在主機(jī)上,用戶借助調(diào)試器實(shí)現(xiàn)硬件仿真調(diào)試。在線仿真器(ICE)主要負(fù)責(zé)協(xié)議轉(zhuǎn)換。調(diào)試器與ICE間通信可采用串口、USB或者以太網(wǎng)(Ethernet)。應(yīng)用程序運(yùn)行在目標(biāo)板的DSP上,目標(biāo)板上的被調(diào)試的DSP都被串聯(lián)在JTAG鏈上。仿真調(diào)試系統(tǒng)支持最多4片DSP系統(tǒng)的調(diào)試。在調(diào)試前,用戶需保證目標(biāo)板和ICE正確上電啟動(dòng)、調(diào)試器與ICE間的物理通信成功連接。
應(yīng)用
目前在集成開(kāi)發(fā)環(huán)境下完成了處理器的一系列函數(shù)庫(kù)的編寫(xiě),包括常規(guī)庫(kù)函數(shù)庫(kù)和雷達(dá)信號(hào)處理函數(shù)庫(kù),編程語(yǔ)言采用BWDSP100相對(duì)應(yīng)的匯編語(yǔ)言,編寫(xiě)的函數(shù)遵循C語(yǔ)言和BWDSP100匯編語(yǔ)言的統(tǒng)一接口規(guī)范,可以按C語(yǔ)言直接調(diào)用,編寫(xiě)的函數(shù)首先能被集成開(kāi)發(fā)環(huán)境提供的軟件模擬器中通過(guò)驗(yàn)證并完成所需要的功能。運(yùn)行結(jié)果精度能達(dá)到一定的要求,執(zhí)行效率能達(dá)到最高,并最終能在實(shí)際的處理器芯片上通過(guò)驗(yàn)證。其中32位浮點(diǎn)復(fù)數(shù)FFT運(yùn)算和ADI公司的TS201芯片運(yùn)算周期數(shù)對(duì)比如表2所示。
結(jié)束語(yǔ)
本文介紹的集成開(kāi)發(fā)環(huán)境系統(tǒng)已經(jīng)實(shí)現(xiàn)針對(duì)BWDSP100芯片的軟件模擬和硬件仿真,在此平臺(tái)上可以針對(duì)BWDSP100芯片進(jìn)行應(yīng)用開(kāi)發(fā)和調(diào)試,系統(tǒng)已進(jìn)行實(shí)際應(yīng)用,效果較好,同時(shí)也反饋了一些非常好的建議和想法,為下一款升級(jí)版本提供了改進(jìn)的思路。
作者:余鋒林劉小明朱艷鮑華單位:中國(guó)電子科技集團(tuán)第38研究所