針對(duì)S698系列處理器的Windows平臺(tái)集成開發(fā)環(huán)境
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前S698系列處理器在電子、通信以及航空航天等領(lǐng)域有著廣泛的應(yīng)用,但還沒有基于這種架構(gòu)的Windows平臺(tái)集成開發(fā)環(huán)境,Orion4.0正好填補(bǔ)了這一空白。本文主要介紹如何利用可擴(kuò)展的Java開發(fā)平臺(tái)插件機(jī)制實(shí)現(xiàn)Orion4.0,同時(shí)演示如何利用這個(gè)集成開發(fā)環(huán)境進(jìn)行高效率的開發(fā)。
傳統(tǒng)的開發(fā)流程
文本編輯器編寫程序→選擇編譯工具編譯→選擇調(diào)試工具調(diào)試(Debug)→再編譯→再調(diào)試……編譯通過→連接→運(yùn)行。如果要燒寫程序,還需要選用額外的燒寫工具。
這種開發(fā)流程的缺點(diǎn)是程序非常復(fù)雜,而且調(diào)試?yán)щy。它的操作都是通過命令行完成的,讓人有種難以接近的感覺。舉個(gè)簡單的例子:當(dāng)執(zhí)行完編譯操作后,控制臺(tái)只是麻木地把編譯信息打出,告訴你第幾行出了錯(cuò)誤,你要返回去逐行檢查,找到出現(xiàn)錯(cuò)誤的行數(shù),然后再調(diào)試;或者你發(fā)現(xiàn)錯(cuò)誤的原因只是把一個(gè)關(guān)鍵字給拼寫錯(cuò)了……這樣無形中延長了開發(fā)的時(shí)間,也影響了開發(fā)人員的情緒。
新的開發(fā)流程
用工程管理器選擇開發(fā)的工程類型→源碼編輯器編寫代碼(自動(dòng)編譯)→調(diào)試→運(yùn)行→燒寫。這就是使用Orion4.0進(jìn)行嵌入式開發(fā)的開發(fā)流程,它為針對(duì)S698系列處理器的嵌入式軟件開發(fā)提供了一整套的解決方案。
Orion4.0的操作都是圖形化的,不需要使用命令行,對(duì)新手來說,非常容易上手。
流程的簡化,得益于以下這些功能部件的有機(jī)結(jié)合。
工程管理器:圖形化的工程管理工具,負(fù)責(zé)應(yīng)用源程序的文件組織和管理,自動(dòng)幫你選擇好需要的編譯、連接工具。
源碼編輯器:標(biāo)準(zhǔn)的文本編輯功能,支持語法關(guān)鍵字、關(guān)鍵字色彩顯示等(這樣就會(huì)提醒你關(guān)鍵字的錄入是否有錯(cuò)誤),還可以顯示行數(shù)、支持函數(shù)和編譯的搜索,這對(duì)大型開發(fā)項(xiàng)目來說非常重要。
編譯工具:專門針對(duì)S698系列處理器的sparc-rtems-gcc編譯器和GNU的GCC編譯器,并經(jīng)過優(yōu)化和嚴(yán)格測試。
調(diào)試器:源碼級(jí)調(diào)試,提供了圖形和命令行兩種調(diào)試方式,可以進(jìn)行斷點(diǎn)設(shè)置、單步執(zhí)行、異常處理,也可以查看修改內(nèi)存、寄存器、變量等,還可以查看堆棧和進(jìn)行反匯編等。在跟蹤調(diào)試時(shí)可以任意切換C語言級(jí)調(diào)試或匯編級(jí)調(diào)試。這些功能已經(jīng)完全可以滿足一般使用者的要求,但Orion4.0并不僅限于此,它還提供了強(qiáng)大的軟件模擬器讓你在沒有硬件平臺(tái)的情況下也能進(jìn)行軟件調(diào)試開發(fā)。
簡單為美的設(shè)計(jì)理念
軟件學(xué)向來推崇以簡單為美,因?yàn)閺?fù)雜的東西是難以操縱的,如何簡化開發(fā)的流程是Orion設(shè)計(jì)之初最先考慮的問題。
下面用Orion4.0的工程向?qū)В╓izard)部分舉例,說明流程是如何被簡化的:在新建工程時(shí),用戶需要選擇工程類型,如圖1所示,不同的工程類型對(duì)應(yīng)不同的工具鏈,如圖2所示,工具鏈會(huì)指定在工程運(yùn)行的時(shí)候所需要的編譯器、連接器、調(diào)試器等工具,以及這些工具的默認(rèn)最優(yōu)參數(shù)。也就是說,用戶在開發(fā)的整個(gè)過程中對(duì)工具的選擇和配置只需要操作一次,這些信息會(huì)一直保存,直到工程被刪除。
圖1 工程管理器
圖2 工具鏈
為了方便用戶的使用,Orion4.0還設(shè)計(jì)了很多輔助功能,比如:圖形化界面設(shè)置RTEMS參數(shù),圖形化燒寫參數(shù)設(shè)置,一鍵燒寫功能等。
當(dāng)然,Orion4.0還提供了詳細(xì)的幫助文檔。
1 解決方案的設(shè)計(jì)模型
用戶操作如何傳遞給編譯器?編譯完成后錯(cuò)誤和警告標(biāo)志如何能正確無誤的出現(xiàn)在對(duì)應(yīng)的代碼行上?這些都需要非常復(fù)雜的處理過程。但大致來講,它們都是按照?qǐng)D3所示的設(shè)計(jì)模型完成的。
圖3 工具鏈配置管理模型圖(Build Model schema)[!--empirenews.page--]
根據(jù)圖3所示模型圖,可以推斷出使用工具鏈(ToolChain)管理的設(shè)計(jì)思想。以下是對(duì)模型圖的簡要說明:
?、賃I是用戶接口,這部分是交給用戶自己來控制影響B(tài)uild model,最簡單的例子就是在同一個(gè)工程里面,可以通過圖形界面指定哪些文件編譯,哪些文件不編譯;
②Makefile generator是Makefile生成器;
?、跜DT Parser是二進(jìn)制解析器,這是Windows下用GNU工具編譯程序所必須的;
?、躎ool Integrator是GNU工具鏈集成器和其他東西,比如編譯器sparc-rtems-gcc。
設(shè)計(jì)工作主要是依照這樣一個(gè)模型來完成,模型中有要處理的工程的配置管理信息,然后Makefile generator采集這些信息,讓它的Project工程中每個(gè)子目錄生成對(duì)應(yīng)的Makefile,模型的配置是可以變化和影響的,而默認(rèn)的配置是由plugin.xml文件指定的。
2 開發(fā)應(yīng)用實(shí)例
?、倬唧w的應(yīng)用例子
現(xiàn)在簡單列舉一個(gè)編程例子來演示此開發(fā)平臺(tái)的功能效果。按照一般教程的慣例,我們選擇列舉Hello World這個(gè)例子,向世界問好。
如果不想為一個(gè)入門的例子特意去找一個(gè)硬件平臺(tái),可以使用軟件模擬器來模擬S698系列處理器的硬件平臺(tái);如果程序涉及外設(shè)硬件操作,就只能連接硬件平臺(tái)并使用硬件調(diào)試器了。
首先,打開開發(fā)環(huán)境并選定一個(gè)工作區(qū),參照?qǐng)D1,在Orion C下選擇Bare C Project,新建一個(gè)test工程,然后單擊“next”按鈕。
Bare C Project選項(xiàng)生成的工程,就是純粹的在SPARC架構(gòu)平臺(tái)上運(yùn)行的C工程;而Rtems C Project選項(xiàng)生成的工程,就是帶RTEMS操作系統(tǒng)運(yùn)行的C工程。它們的本質(zhì)區(qū)別就是工具鏈的配置不同。而用戶可以通過自己的配置來影響編譯配置,這也印證了圖3工具鏈配置管理模型圖所表現(xiàn)的UI功能。
圖4 調(diào)試環(huán)境設(shè)置
圖5 debug界面
在Project Type中已經(jīng)默認(rèn)選擇了工具鏈Orbta.inc(sparc-rtems toolchain,link whitout rtems-OS),繼續(xù)單擊“next”按鈕,然后單擊Finish按鈕,建立工程。該工程里有自動(dòng)生成的代碼,用戶可以修改編輯。就這樣,用戶沒有寫一行代碼就生成了想要的程序。
現(xiàn)在可以看到的是編輯器支持語法關(guān)鍵字的色彩顯示。其實(shí)編寫程序代碼的過程中,編輯器具體的顯示色彩可由用戶自由編輯,同時(shí)具有程序語法的自動(dòng)糾錯(cuò)功能。這樣既方便了代碼編寫,又提高了代碼的編寫質(zhì)量。
如果程序沒有出現(xiàn)預(yù)期的結(jié)果,就需要進(jìn)行調(diào)試。Orion4.0強(qiáng)大的調(diào)試功能允許用戶對(duì)程序進(jìn)行單步跟蹤,設(shè)置斷點(diǎn),觀察變量,察看堆棧等。
Orion4.0支持以下的調(diào)試方式:
●Simulator調(diào)試模式;
●SMON調(diào)試模式;
●Debug monitor調(diào)試模式。
?、谡{(diào)試
現(xiàn)在大概了解一下調(diào)試的方式。
在工程生成的EXE文件中點(diǎn)右鍵,選擇“Debug As”,選擇“Debug”,在彈出窗口中的“C/C++ Application running on Simulator/SMON”項(xiàng)中右鍵選擇New(或雙擊)以新建調(diào)試環(huán)境,然后根據(jù)不同的調(diào)試模式做好相應(yīng)的設(shè)置,設(shè)置完成后直接在“Debug”設(shè)置窗口單擊“Debug”按扭啟動(dòng)調(diào)試,如圖4所示。
因?yàn)橐宫F(xiàn)工具的功能,我們稍微修改了一下程序,增加了一個(gè)int的變量。從圖5可以看到單步調(diào)試的淺綠色亮條,反匯編的代碼,還有追蹤變量的窗口。當(dāng)然這些只是Orion4.0的一小部分的功能。
結(jié)束語
作為術(shù)開發(fā)人員,總是希望自己手中的工具既方便又強(qiáng)大,從而擺脫瑣碎的操作環(huán)節(jié),專注于編程,而Orion4.0就能夠?qū)崿F(xiàn)這個(gè)想法。另外,該開發(fā)平臺(tái)是可以擴(kuò)展的,你可以在這個(gè)開發(fā)平臺(tái)上使用任何一種編程語言。