手機版WPS 手機版wps免費下載
2022-11-29
更新時間:2022-04-03 14:39:08作者:未知
嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。
嵌入式系統(tǒng)在日常生活中越來越扮演重要的作用。同時由于嵌入式系統(tǒng)在成本、開發(fā)周期、維護(hù)難易程度等方面的優(yōu)勢,越來越多的終端設(shè)備采用嵌入式系統(tǒng)。
Java分為三個版本,Java EE(J2EE),Java SE(J2SE)和針對嵌入式平臺的Java ME(J2ME)。手機的普及,使得J2ME得到了重視和長足的發(fā)展,越來越多的終端設(shè)備廠商和方案提供商也開始關(guān)注使用Java來開發(fā)終端設(shè)備。
Java的特點能夠大大縮短設(shè)備的開發(fā)調(diào)試周期、降低維護(hù)成本,特別是在針對行業(yè)提供不同規(guī)格不同等級的產(chǎn)品時,幾乎可以不修改代碼,即可完成對界面、功能、技術(shù)指標(biāo)等的調(diào)整。
嵌入式Java的開發(fā)環(huán)境
嵌入式軟件開發(fā)需要解決的首要難題是開發(fā)工具,編譯器,調(diào)試工具幾乎都是自成體系。嵌入式軟件開發(fā)者在開發(fā)過程中,往往需要同時打開多個工具配合使用。如果開發(fā)嵌入式Java程序,則情況更為復(fù)雜,目前市面上的嵌入式Java編譯器和仿真器都是由手機廠商各自開發(fā),沒有統(tǒng)一的標(biāo)準(zhǔn),而Sun公司提供的嵌入式Java編譯器和仿真器的功能又過于簡單,難于勝任更復(fù)雜的終端應(yīng)用。
要凸顯Java的優(yōu)勢,加快開發(fā)和調(diào)試速度,直到最終生成目標(biāo)機代碼,必須依賴于一整套開發(fā)基于嵌入式Java終端的開發(fā)平臺。參看圖1。
Java的“一次編寫,到處執(zhí)行”在開發(fā)過程中同樣能夠帶來很大方便,即可以在PC機上進(jìn)行仿真,調(diào)試完成后再編譯成目標(biāo)機代碼,下載到目標(biāo)機上運行,這可大大縮短開發(fā)時間,而且Java的這種仿真效果比PC的仿真效果要真實得多。
要實現(xiàn)這個功能,就必須要求開發(fā)平臺具有仿真調(diào)試環(huán)境,并且IDE能提供相關(guān)的支持。IDE也應(yīng)是集工程管理、代碼編寫、程序調(diào)試、目標(biāo)代碼生成等功能于一體,才能滿足開發(fā)人員的需要。
基于嵌入式Java的終端開發(fā)平臺
科銀京成運用自身在嵌入式實時操作系統(tǒng)DeltaOS、嵌入式Java虛擬機和嵌入式軟件平臺LambdaPro的優(yōu)勢,將三者有機結(jié)合,并針對終端設(shè)備領(lǐng)域開發(fā)了圖形庫、文件操作庫、嵌入式數(shù)據(jù)庫、導(dǎo)航框架等API和必要的輔助工具支持,形成了一套基于嵌入式Java的終端設(shè)備開發(fā)平臺?DLambdaPro-J??蓞⒖聪马搱D2。
IDE
嵌入式軟件應(yīng)用的開發(fā),離不開與硬件以及底層操作系統(tǒng)打交道。那么,為了在嵌入式Java中能夠訪問到硬件及底層操作系統(tǒng),不得不改用Java語言中提供的本地接口,即從嵌入式Java中利用能夠訪問到硬件驅(qū)動的C語言函數(shù)來實行交叉編程。
這就意味著開發(fā)人員需要具備多語言以及多層次的混合編程和混合調(diào)試能力。同時需要熟悉和掌握多個IDE環(huán)境,那么提供多語言多層次混合編程的IDE無疑有助于一般開發(fā)人員完成這一復(fù)雜課題。
LambdaPro-J提供以Eclipse為基礎(chǔ)框架,集成了嵌入式Java開發(fā)環(huán)境及嵌入式C語言開發(fā)環(huán)境的多功能IDE。LambdaPro-J目前支持嵌入式Java應(yīng)用及配套Java組件的開發(fā),支持WINDOWS仿真環(huán)境與DeltaOS目標(biāo)環(huán)境。
調(diào)試
Java語言應(yīng)用于嵌入式軟件開發(fā)中,利用Java語言與軟硬件平臺無關(guān)的特性,可極大緩解調(diào)試繁瑣性。整個Java程序的開發(fā)和調(diào)試都可在Windows仿真環(huán)境下完成,最終將Java字節(jié)碼文件放到目標(biāo)平臺上運行即可。
這種方式相對于直接在目標(biāo)機上開發(fā)更加快捷和方便。作為嵌入式Java開發(fā)平臺,LambdaPro-J提供了適應(yīng)多種終端設(shè)備的Windows仿真運行環(huán)境。同時也支持在目標(biāo)環(huán)境下調(diào)試Java程序,但是相對仿真環(huán)境速度會慢很多。
有些嵌入式Java應(yīng)用并不完全由Java語言構(gòu)成,還需通過本地接口去訪問一些C語言函數(shù)來配合完成,那么IDE就必須具備調(diào)試C語言的能力。不同于Java語言,C語言和具體軟硬件平臺息息相關(guān)。在Windows環(huán)境下支持調(diào)試C程序的IDE有很多,LambdaPro-J也集成了這一功能。
C程序的調(diào)試在目標(biāo)板環(huán)境下通過交叉調(diào)試的方式來完成。交叉調(diào)試環(huán)境由宿主機和目標(biāo)機組成,二者在物理連接的基礎(chǔ)上建立起邏輯連接。調(diào)試器運行在宿主機上,通過調(diào)試代理與目標(biāo)機進(jìn)行連接,完成程序下載,調(diào)試控制等功能。
有時開發(fā)人員為了更細(xì)致的跟蹤整個程序執(zhí)行的流程,對Java程序與本地接口不得不進(jìn)行交互的調(diào)試。這也意味著開發(fā)人員在跟蹤調(diào)試Java本地接口時,就像在跟蹤一個普通的方法調(diào)用,不過這個方法是由C語言編寫。LambdaPro-J有效地結(jié)合了Java調(diào)試和C調(diào)試的特點,讓整個程序的執(zhí)行流程,都在程序員的掌握之中。
配置
面對嵌入式行業(yè)千變的定制需求,如果每一款終端產(chǎn)品都要重新開發(fā),無疑造成產(chǎn)品研發(fā)周期長、穩(wěn)定性差、跟不上市場變化而最終被淘汰。如果開發(fā)人員僅需在IDE界面中配置相關(guān)模塊,就能完成絕大部分定制工作,那么就可縮短研發(fā)周期,為產(chǎn)品快速成型、投放市場搶占先機。
基于Java的嵌入式終端設(shè)備開發(fā)平臺涉及到的方面有:Java-Option-Package,Java虛擬機,OS,HardWare。針對以上涉及的方面,LambdaPro-J提供了極高的可配置性。
利用Java語言高度可重用性的優(yōu)勢,將一系列類似功能收集在一起形成了適用于嵌入式Java的組件作為Java-Option-Package。使用LambdaPro-J開發(fā)一個嵌入式Java應(yīng)用時,將相關(guān)功能的Java組件配置到應(yīng)用項目中,讓應(yīng)用的編寫越來越簡單。為了提高Java組件的適用性,Java組件也具備對可變屬性的配置功能。
Java虛擬機涉及到一些運行時動態(tài)設(shè)置的參數(shù);嵌入式OS涉及到操作系統(tǒng)內(nèi)核、網(wǎng)絡(luò)、GUI等。目前支持DeltaOS操作系統(tǒng)的相關(guān)配置。
目標(biāo)機即當(dāng)前應(yīng)用所運行的目標(biāo)環(huán)境,涉及CPU、外設(shè)、控制臺和內(nèi)存。CPU主要涉及CPU類型、大小端、軟硬浮點;外設(shè)配置的引入,使可開發(fā)人員面對目標(biāo)機多變的外圍設(shè)備方便地配置自己需要的設(shè)備;同時完成一些必要的可變屬性配置去適應(yīng)不同的目標(biāo)環(huán)境。控制臺針對程序輸入輸出進(jìn)行重定向;在嵌入式領(lǐng)域,內(nèi)存一直是個受限的設(shè)備。合理的使用可讓程序在有限的空間中完成無限的需求。通過界面化的配置,讓開發(fā)人員對目標(biāo)環(huán)境下的內(nèi)存使用一目了然。
和傳統(tǒng)嵌入式軟件開發(fā)相比,基于LambdaPro-J的軟件開發(fā)通過對現(xiàn)有組件的構(gòu)建和組裝實現(xiàn)軟件功能,用戶還可以自定義組件,方便代碼和模塊的復(fù)用。該平臺在架構(gòu)上保證為平臺進(jìn)行的組件擴(kuò)展可自動在后續(xù)的任何應(yīng)用中進(jìn)行復(fù)用。該終端平臺是具有高成長特性的開發(fā)平臺,基于平臺構(gòu)建的應(yīng)用越多,為平臺提供的組件越多,就越具有靈活性和可用性。