李華
摘要:該文主要針對嵌入式數(shù)據(jù)庫系統(tǒng)進行了研究,對基于Liod開發(fā)板的Linux系統(tǒng)和Windows CE系統(tǒng)內(nèi)核進行了裁減和移植,并且設(shè)計實現(xiàn)了相應(yīng)數(shù)據(jù)庫管理系統(tǒng)。
關(guān)鍵詞:EDBMS;嵌入式;數(shù)據(jù)庫
中圖分類號:TP312 文獻標識碼:A 文章編號:1009-3044(2013)08-1749-03
隨著微電子和存儲技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)需要處理的數(shù)據(jù)不斷增多,嵌入式數(shù)據(jù)庫管理系統(tǒng)(簡稱EDBMS)越來越展現(xiàn)出其不可替代的優(yōu)越性。嵌入式數(shù)據(jù)庫產(chǎn)品層出不窮,嵌入式數(shù)據(jù)庫管理系統(tǒng)在消費類電子產(chǎn)品等各領(lǐng)域已得到廣泛應(yīng)用。
1 嵌入式數(shù)據(jù)庫簡介
嵌入式數(shù)據(jù)庫系統(tǒng)是一種與操作系統(tǒng)以及應(yīng)用軟件集成在一起的數(shù)據(jù)庫管理系統(tǒng),用來支持和嵌入式系統(tǒng)的特定用途相關(guān)的應(yīng)用。EDBMS從本質(zhì)上是由通用數(shù)據(jù)庫管理系統(tǒng)發(fā)展而來的,但它們在運行環(huán)境和應(yīng)用領(lǐng)域等各個方面還有所不同,EDBMS具有數(shù)據(jù)同步、高安全性和可靠性、零管理以及硬件速度慢等特點。嵌入式數(shù)據(jù)庫管理系統(tǒng)一般需要嵌入式操作系統(tǒng)的支持,例如嵌入式Linux系統(tǒng)、Windows CE系統(tǒng)等。
1)Linux系統(tǒng)下數(shù)據(jù)庫
Linux系統(tǒng)對數(shù)據(jù)庫提供了全面支持,幾乎所有大型數(shù)據(jù)庫系統(tǒng)都可以基于Linux運行。目前流行的大型數(shù)據(jù)庫系統(tǒng)有Oracle、 Sybase、Informix等,中小型數(shù)據(jù)庫系統(tǒng)有MySQL、Firebird、Berkeley DB等。
2)Windows CE系統(tǒng)下數(shù)據(jù)庫
伴隨掌上電腦的流行,其使用的Windows CE操作系統(tǒng)也因此倍受矚目。Windows CE包含一個適合動靜態(tài)內(nèi)存存儲的文件系統(tǒng)和一個Win32 API子集以及新增加的一些API。其中,數(shù)據(jù)庫定位于對象存儲。對象存儲是用于存儲Windows CE數(shù)據(jù)庫、注冊表及永久文件的。Windows CE提供的Pocket Access數(shù)據(jù)庫,使用戶可以自己編程實現(xiàn)掌上電腦基本的數(shù)據(jù)庫處理。
2 嵌入式開發(fā)平臺
2.1 Liod開發(fā)平臺
1)PXA270微處理器
PXA270微處理器使用了電壓調(diào)整和頻率調(diào)整技術(shù)來實現(xiàn)高性能和低功耗的特點,先已普遍應(yīng)用于嵌入式系統(tǒng)開發(fā)。該處理器使用ARM架構(gòu),用比較低的時鐘頻率卻能夠?qū)崿F(xiàn)優(yōu)異的多媒體性能,這在很大程度上提高了多媒體的處理能力。同時,PXA270微處理器使用了動態(tài)電源管理技術(shù),可以根據(jù)處理器的需求動態(tài)的調(diào)整功耗和性能,既能滿足必要性能,又能最大限度地降低無線手持設(shè)備的功耗,延長待機以及通話時間。
2) Liod開發(fā)板
Liod是一款高端的嵌入式開發(fā)平臺,這款開發(fā)平臺擁有豐富的外設(shè)資源,最重要的是它還使用了先進的Xscale架構(gòu)的 PXA270微處理器,并能使該處理器的功能發(fā)揮得淋漓盡致,營造了一個優(yōu)秀的開發(fā)環(huán)境。由于它性能高并且功耗低,適用于醫(yī)療設(shè)備、導(dǎo)航設(shè)備、娛樂終端、多媒體終端、人機交互界面、智能手機等各個領(lǐng)域。
2.2 基于Liod開發(fā)板進行Linux內(nèi)核裁減和移植
2)Qt平臺構(gòu)建
在Liod開發(fā)板中如果想實現(xiàn)觸摸屏響應(yīng)功能,開發(fā)者就需在Qt工具的源文件中修改與鼠標操作和觸摸屏操作相關(guān)的文件。在編譯Qtopia時,要使用兩個庫:分別是libuuid和jpeg,把它們編譯到交叉編譯工具中。在文件系統(tǒng)的usr文件夾中建立qpe文件夾,然后把編譯好的Otopia文件夾復(fù)制到新建的qpe文件夾里,同時把相應(yīng)的庫文件和font文件夾一起復(fù)制到/usr/qpe/lib下,這樣就可以使用Qtopia了。
3)Windows CE內(nèi)核移植
①組成模塊 。Windows CE系統(tǒng)是一種高度模塊化的操作系統(tǒng),它的每個模塊都實現(xiàn)其自身特定功能,系統(tǒng)模塊主要包括內(nèi)核模塊、通信模塊、文件系統(tǒng)模塊、圖形窗口事件子系統(tǒng)模塊及對象存儲模塊。其中,內(nèi)核模塊和文件系統(tǒng)模塊是Windows CE系統(tǒng)必須要包括的模塊。此外,Windows CE還附加一些可以實現(xiàn)其它功能的可選模塊。
②PB開發(fā)工具 。PB是用于進行CE系統(tǒng)下的嵌入式系統(tǒng)開發(fā),能夠根據(jù)實際需求,建立特定內(nèi)核功能的CE 系統(tǒng)。利用PB實現(xiàn)對Windows CE系統(tǒng)的創(chuàng)建和設(shè)計等基本操作。
4) BSP原理
BSP即板級支撐軟件包,它是基于Windows CE操作系統(tǒng)的主要組成部分,包括啟動程序和標準開發(fā)板等。目前,嵌入式系統(tǒng)并沒有統(tǒng)一的應(yīng)用標準,硬件環(huán)境的選擇取決于特定的系統(tǒng)應(yīng)用需求,硬件環(huán)境的多變決定了它不能依靠OS來實現(xiàn)應(yīng)用軟件和硬件部分的無關(guān)性,而普遍依靠分層設(shè)計來實現(xiàn),即板級支撐軟件包。開發(fā)者可以根據(jù)實際使用的硬件對它進行修改,如圖1所示,BSP的主要作用就是確保硬件正常工作,實現(xiàn)軟硬件之間的數(shù)據(jù)交互,為操作系統(tǒng)和上層應(yīng)用程序提供一個和硬件無關(guān)的軟件平臺。
5)Windows CE內(nèi)核移植
PB能夠支持Liod開發(fā)板的硬件資源系統(tǒng),這樣在安裝Windows CE之后還需要安裝板級支撐軟件包。安裝時,運行BSP的安裝向?qū)SBase270.msi,然后BSP會自動選擇Windows CE的安裝目錄來安裝BSP。
3 EDBMS的設(shè)計實現(xiàn)
3.1 嵌入式SQLite數(shù)據(jù)庫裁減和移植
1) SOLite簡介
SQLite是開源的嵌入式數(shù)據(jù)庫引擎,它是完全獨立的,不依賴于其他軟件,使用的資源也非常低。它能夠支持Linux/Windows等當前流行使用的操作系統(tǒng),SQLite體系結(jié)構(gòu)可分為如圖2所示的八個子系統(tǒng),按照此流程執(zhí)行數(shù)據(jù)庫的各項操作。
2) SQLite的移植
首先下載SQLite的源碼,并且將下載的代碼包解壓。對配置文件configure進行編輯,注釋掉configure中的交叉編譯的檢查語句,增加編譯器gcc。然后將Makefile文件中編譯工具的編譯器修改為gcc, 1ibs隱藏文件夾中就存儲了執(zhí)行make命令編譯之后生成的可執(zhí)行文件和庫文件,最后執(zhí)行make install命令進行安裝。
3)EDBMS的實現(xiàn)
①注冊ADOCE的DLL組件。ADOCE以動態(tài)連接庫的形式進行發(fā)布,它是ADO的子集。利用ADOCE編程,首先要下載它的動態(tài)連接庫,然后運行REGSVRCE可執(zhí)行文件注冊部分DLL組件。
②ADOCE的初始化。由于ADOCE是屬于標準的COM組件,所以先要必須初始化一個COM,然后再進行ADO數(shù)據(jù)源連接的相應(yīng)編程,對ADOCE進行數(shù)據(jù)庫編程基本上就是執(zhí)行SQL語句。
4 結(jié)束語
從目前國內(nèi)外EDBMS的應(yīng)用情況來看,基于嵌入式數(shù)據(jù)庫應(yīng)用的市場需求已進入蓬勃發(fā)展時期,但是市場應(yīng)用的需求多種多樣,計算平臺也是各有各的特點,嵌入式的數(shù)據(jù)庫產(chǎn)品短時間內(nèi)還難以建立統(tǒng)一的標準,對于嵌入式數(shù)據(jù)庫管理系統(tǒng)還有待更加深入的研究和探索。
參考文獻:
[1] 陳文智.嵌入式系統(tǒng)開發(fā)原理與實踐 [M]北京:清華大學(xué)出版社,2005 .
[2] 傅曦.Windows CE嵌入式開發(fā)入門——基于Xscale架構(gòu)[M].北京:人民郵電出版社,2006.
[3] 啟明工作室.Visual C++ +SOL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)與實例[M]北京:人民郵電出版社,2004.