資料介紹
隨著嵌入式系統(tǒng)CPU硬件從8位到32位的發(fā)展,嵌入式系統(tǒng)軟件的開發(fā)環(huán)境也得到迅猛的發(fā)展,編程語言從10多年以前的匯編為主流發(fā)展到現(xiàn)在C、C++、Java為主流。另外,面向?qū)ο笤O(shè)計(jì)技術(shù)、組件技術(shù)等在嵌入式系統(tǒng)軟件設(shè)計(jì)中的應(yīng)用也日益引起人們的重視。
在嵌入式系統(tǒng)軟件開發(fā)領(lǐng)域,Java是一門較新的異軍突起的編程語言。其優(yōu)點(diǎn)是語言本身簡潔優(yōu)美,完全按照面向?qū)ο笏枷朐O(shè)計(jì),并且語言引入許多較為先進(jìn)的特性,如多線程、自動內(nèi)存管理和垃圾回收,非常適合于大規(guī)模復(fù)雜軟件系統(tǒng)的開發(fā)。其不足點(diǎn)是與硬件結(jié)合不夠緊密,同時代碼運(yùn)行速度較慢。此外,對于內(nèi)存的使用,程序難于管理和控制。
由于采用Java編程具有如上所述的眾多優(yōu)點(diǎn),越來越多的嵌入式系統(tǒng)采用Java技術(shù)來構(gòu)造軟件系統(tǒng)。本文在介紹基于日本某自動售貨機(jī)產(chǎn)品的控制板的Java運(yùn)行平臺基礎(chǔ)上,詳細(xì)討論筆者為其平臺開發(fā)的DB引擎的組成和設(shè)計(jì)思路。
?
1 Java運(yùn)行環(huán)境平臺
圖1所示為Java運(yùn)行環(huán)境的總體框架示意圖。本系統(tǒng)為克服Java的解釋執(zhí)行機(jī)制所引起的執(zhí)行速度慢的問題,在硬件上采用了Sun公司開發(fā)的Pico Java芯片。它能夠直接執(zhí)行Java的二進(jìn)制代碼,使Java的執(zhí)行速度提高一個數(shù)量級以上。在硬件層的上面是OS層,本系統(tǒng)采用的是ITRON(日本東京大學(xué)坂村鍵教授設(shè)計(jì)的一種嵌入式操作系統(tǒng),雖然在日本以外的市場影響不大,但在日本本地市場,占有率達(dá)90%以上)。由于ITRON規(guī)格制定得比較早,并且為兼顧低端嵌入式應(yīng)用的場合,ITRON總體上功能比較簡單,并未把諸如TCP/IP、文件系統(tǒng)等內(nèi)容包含在其里面,因此與嵌入式Linux等不一樣的是,TCP/IP、文件系統(tǒng)是以獨(dú)立的組件形式存在的。在OS層的上面是JVM層。與其它一般Java虛擬機(jī)不同的是,本系統(tǒng)的Java執(zhí)行代碼不需要由JVM解釋執(zhí)行,而是由CPU硬件直接執(zhí)行。在JVM的上層是自動售貨機(jī)的基礎(chǔ)平臺類庫和公共組件層。本文介紹的DB引擎組件正是處于這一層。該層的上面是應(yīng)用程序?qū)樱糜趯?shí)現(xiàn)自動售貨機(jī)的各種控制、管理機(jī)能。
2 嵌入式系統(tǒng)DB引擎
2.1 DB引擎組件的引入
眾所周知,在臺式機(jī)領(lǐng)域,DB是一個十分關(guān)鍵的基礎(chǔ)軟件。以往嵌入式系統(tǒng)的軟件可能更側(cè)重于與硬件的交互與控制,但隨著對嵌入式系統(tǒng)功能需求的日益復(fù)雜化,嵌入式系統(tǒng)軟件中,信息、數(shù)據(jù)的保存與管理的比重也日益增加。在這樣的背景下,嵌入式系統(tǒng)軟件開發(fā)中,通過引入DB組件,對實(shí)現(xiàn)軟件整體框架結(jié)構(gòu)的組件化與簡單化,有著十分明顯而重要的意義。
2.2 DB引擎組件的總體框架
如圖2所示,將整個DB組件設(shè)計(jì)為3層結(jié)構(gòu),分別為JDBC接口層、SQL解釋層和動作執(zhí)行層。這3層之間呈單向依賴關(guān)系。也就是說,SQL解釋層依賴于動作執(zhí)行層,但動作執(zhí)行層不依賴于其上面的兩層,可以單獨(dú)存在而直接被使用。如果用戶以使用方便為主要目的,可采用完全配置方式,應(yīng)用程序通過JDBC接口層存取數(shù)據(jù)。反之,如果用戶對空間和效率要求較高,可僅配置動作執(zhí)行層組件,應(yīng)用程序直接調(diào)用動作執(zhí)行層的API進(jìn)行數(shù)據(jù)的檢過和更新等操作。
在嵌入式系統(tǒng)軟件開發(fā)領(lǐng)域,Java是一門較新的異軍突起的編程語言。其優(yōu)點(diǎn)是語言本身簡潔優(yōu)美,完全按照面向?qū)ο笏枷朐O(shè)計(jì),并且語言引入許多較為先進(jìn)的特性,如多線程、自動內(nèi)存管理和垃圾回收,非常適合于大規(guī)模復(fù)雜軟件系統(tǒng)的開發(fā)。其不足點(diǎn)是與硬件結(jié)合不夠緊密,同時代碼運(yùn)行速度較慢。此外,對于內(nèi)存的使用,程序難于管理和控制。
由于采用Java編程具有如上所述的眾多優(yōu)點(diǎn),越來越多的嵌入式系統(tǒng)采用Java技術(shù)來構(gòu)造軟件系統(tǒng)。本文在介紹基于日本某自動售貨機(jī)產(chǎn)品的控制板的Java運(yùn)行平臺基礎(chǔ)上,詳細(xì)討論筆者為其平臺開發(fā)的DB引擎的組成和設(shè)計(jì)思路。
?
1 Java運(yùn)行環(huán)境平臺
圖1所示為Java運(yùn)行環(huán)境的總體框架示意圖。本系統(tǒng)為克服Java的解釋執(zhí)行機(jī)制所引起的執(zhí)行速度慢的問題,在硬件上采用了Sun公司開發(fā)的Pico Java芯片。它能夠直接執(zhí)行Java的二進(jìn)制代碼,使Java的執(zhí)行速度提高一個數(shù)量級以上。在硬件層的上面是OS層,本系統(tǒng)采用的是ITRON(日本東京大學(xué)坂村鍵教授設(shè)計(jì)的一種嵌入式操作系統(tǒng),雖然在日本以外的市場影響不大,但在日本本地市場,占有率達(dá)90%以上)。由于ITRON規(guī)格制定得比較早,并且為兼顧低端嵌入式應(yīng)用的場合,ITRON總體上功能比較簡單,并未把諸如TCP/IP、文件系統(tǒng)等內(nèi)容包含在其里面,因此與嵌入式Linux等不一樣的是,TCP/IP、文件系統(tǒng)是以獨(dú)立的組件形式存在的。在OS層的上面是JVM層。與其它一般Java虛擬機(jī)不同的是,本系統(tǒng)的Java執(zhí)行代碼不需要由JVM解釋執(zhí)行,而是由CPU硬件直接執(zhí)行。在JVM的上層是自動售貨機(jī)的基礎(chǔ)平臺類庫和公共組件層。本文介紹的DB引擎組件正是處于這一層。該層的上面是應(yīng)用程序?qū)樱糜趯?shí)現(xiàn)自動售貨機(jī)的各種控制、管理機(jī)能。
2 嵌入式系統(tǒng)DB引擎
2.1 DB引擎組件的引入
眾所周知,在臺式機(jī)領(lǐng)域,DB是一個十分關(guān)鍵的基礎(chǔ)軟件。以往嵌入式系統(tǒng)的軟件可能更側(cè)重于與硬件的交互與控制,但隨著對嵌入式系統(tǒng)功能需求的日益復(fù)雜化,嵌入式系統(tǒng)軟件中,信息、數(shù)據(jù)的保存與管理的比重也日益增加。在這樣的背景下,嵌入式系統(tǒng)軟件開發(fā)中,通過引入DB組件,對實(shí)現(xiàn)軟件整體框架結(jié)構(gòu)的組件化與簡單化,有著十分明顯而重要的意義。
2.2 DB引擎組件的總體框架
如圖2所示,將整個DB組件設(shè)計(jì)為3層結(jié)構(gòu),分別為JDBC接口層、SQL解釋層和動作執(zhí)行層。這3層之間呈單向依賴關(guān)系。也就是說,SQL解釋層依賴于動作執(zhí)行層,但動作執(zhí)行層不依賴于其上面的兩層,可以單獨(dú)存在而直接被使用。如果用戶以使用方便為主要目的,可采用完全配置方式,應(yīng)用程序通過JDBC接口層存取數(shù)據(jù)。反之,如果用戶對空間和效率要求較高,可僅配置動作執(zhí)行層組件,應(yīng)用程序直接調(diào)用動作執(zhí)行層的API進(jìn)行數(shù)據(jù)的檢過和更新等操作。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 【嵌入式實(shí)驗(yàn)】《嵌入式數(shù)據(jù)庫 sqlite 移植及使用》
- Spring嵌入式數(shù)據(jù)庫示例
- H2:一款基于 Java 的嵌入式關(guān)系型數(shù)據(jù)庫
- 嵌入式數(shù)據(jù)庫
- 嵌入式數(shù)據(jù)庫在Java中的應(yīng)用解析 0次下載
- SQLite嵌入式數(shù)據(jù)庫在Wince中的應(yīng)用實(shí)例 0次下載
- 嵌入式移動數(shù)據(jù)庫NimbleDB的實(shí)現(xiàn)
- 嵌入式移動數(shù)據(jù)庫SQL Server for Windows
- 嵌入式移動數(shù)據(jù)庫的數(shù)據(jù)同步及其應(yīng)用
- 基于Linux的嵌入式實(shí)時數(shù)據(jù)庫的設(shè)計(jì)
- 基于SOC技術(shù)的智能型嵌入式數(shù)據(jù)庫研究
- JAVA在SQLite嵌入式數(shù)據(jù)庫中的應(yīng)用
- 嵌入式移動數(shù)據(jù)庫NimbleDB的實(shí)現(xiàn)
- 基于ARM 的嵌入式數(shù)據(jù)庫研究與應(yīng)用
- 嵌入式移動數(shù)據(jù)庫研究
- MySQL數(shù)據(jù)庫免安裝版配置教程 1608次閱讀
- SQLite數(shù)據(jù)庫多平臺應(yīng)用及常見錯誤分析有哪些 1034次閱讀
- 常見的數(shù)據(jù)庫管理 2110次閱讀
- 嵌入式移動數(shù)據(jù)庫的結(jié)構(gòu)體系特點(diǎn)及優(yōu)化查詢方法研究 2347次閱讀
- linux系統(tǒng)POS嵌入式數(shù)據(jù)庫如何去構(gòu)建 917次閱讀
- 嵌入式系統(tǒng)開發(fā)經(jīng)常使用哪一些數(shù)據(jù)庫 1758次閱讀
- 英創(chuàng)信息技術(shù)嵌入式數(shù)據(jù)庫SQLC介紹 2043次閱讀
- 基于μC/OS嵌入式操作系統(tǒng)的嵌入式數(shù)據(jù)管理設(shè)計(jì) 1241次閱讀
- 基于嵌入式數(shù)據(jù)庫的礦場安全系統(tǒng)設(shè)計(jì)方案詳解 1145次閱讀
- 關(guān)于嵌入式系統(tǒng)以及嵌入式平臺下的學(xué)科分工詳解 2025次閱讀
- 基于嵌入式數(shù)據(jù)庫的海量存儲技術(shù)解析 2820次閱讀
- 數(shù)據(jù)庫引擎是什么 1.1w次閱讀
- 數(shù)據(jù)庫引擎如何安裝 8891次閱讀
- 常用的數(shù)據(jù)庫引擎有哪些_數(shù)據(jù)庫引擎分類 2.1w次閱讀
- 移動Agent嵌入式移動數(shù)據(jù)庫詳解及實(shí)現(xiàn)查詢優(yōu)化 1272次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論