999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式的數據庫設計

2015-05-04 07:48:28李少雄
科技創新與應用 2015年13期
關鍵詞:嵌入式

摘 要:文章提出了基于嵌入式的簡單數據庫設計。設計了以S3C2440A微處理器作為數據庫數據采集的硬件控制核心,然后指出了嵌入式下數據庫的需求特點,對在ARM-Linux下的SQLite數據庫的體系進行分析,再結合ARM-Linux開發板給出了如何實現SQLite數據庫的具體方法。

關鍵詞:嵌入式;SQLite數據庫;ARM-Linux開發平臺

引言

現有的RTU多基于ARM7開發板上的程序植入和數據庫管理,對于多線程的數據管理,以及種類繁多的第三方數據接口,顯得力不從心。本課題擬在ARM9處理器上進行數據庫的建立,對底層的數據采集,并對采集數據進行歷史保留和遠程管理。其中,數據庫的建立運用可基于嵌入式系統的小型數據庫SQlite,SQLite是一款嵌入式數據庫,沒有獨立運行的進程,在所服務的應用程序在應用程序進程空間中是共同存在的。它與應用程序的代碼也是一起的,作為它所服務程序的一部分,同時提供了豐富的數據庫接口;而對數據采集,則由底層設備驅動程序完成。

1 數據庫數據采集的硬件平臺設計

為了實時的對現場數據的采集和傳輸,我們采用功能強大的ARM9作為主控處理器,外接相關功能模塊,在ARM9處理器上嵌入Linux操作系統,其強大的多任務和多線程以及設備獨立性能夠較好的發揮ARM9強大的控制功能。

現場數據采集主要由:數字量輸入、輸出模塊、模擬量輸入模塊組成。數字量輸入模塊將外部采集的數據經過處理輸入到ARM9處理器;模擬量輸入模塊采集外部輸入的模擬量;數字量輸出模塊采集主控處理器的輸出量。如圖1所示。

圖1 硬件系統主要構成圖

數據的存儲和傳輸部分主要包括S3C2440A微處理器、存儲器模塊、數據通信模塊、RS458模塊、以太網模塊、無線功能模塊等。該處理器是基于ARM920T核心的16/32位的精簡指令集(RISC)微處理器,S3C2440A為手持設備和一些小型應用提供了低耗能、低價格、高性能提供了一個絕佳的選擇。它采用了新的總線結構AMBA(Advanced Microcontroller Bus Architecture),這一結構具有獨立的16KB指令緩存和16KB數據緩存,每個都是由8字長的行組成。因為它具有一套完整的系統外設,S3C2440A降低了整體的系統成本并且不需配置另外的組件。這部分的主要功能是對現場采集數據進行處理、存儲和顯示,之后通過網絡把所采集的數據上傳到遠程的PC機網頁上。遠程的PC機主要負責的功能是對所上傳的數據進行監測、分析、處理。必要時對采集終端進行控制。

2 Linux下的數據庫的應用

基于Linux系統下的數據庫數不勝數,大型應用于商業開發的數據庫有Sybase、Empress、Oracle、Informix等,小型數據庫常用的有mSQL、MySQL、Sqlite等等。應用于商業開發的大型數據庫一般價格高昂并且體積龐大,不符合嵌入式下數據庫要求。在小型數據庫中MySQL雖說在保持體積較小的情況,提供了足夠的應用與一般開發的功能,但是在應用于商業用途也要收費。mSQI具有嵌入式開發的條件,但是由于它并非完全開源的代碼,在使用期限上不符合本設計的要求。余下的開放源碼數據庫中,除了占用空間較大以外,學習難度也比較大,如果非要采用的話必然會加大開發成本。

SQLite支持大部分的SQL的語句,采用單文件存放數據庫,存儲速度也快,在操作語句上與關系數據庫類型更加接近,最重要的是它的代碼使完全開源的,不用收費。基于SQLite的設計理念,雖然相較與商業用途的大型數據庫在功能上有所不足,但是在開源組織的日漸完善下差距逐漸縮小。在應用上如果不需要存儲過程或者復雜的表之間的關聯的話,SQLite是個非常好的平衡點。

3 SQLite的體系結構以及在Linux平臺上的開發技術

3.1 SQLite的體系結構

SQLite有一套簡潔的、模塊化的體系結構,并引進了一些方法進行有關關系型數據庫的管理。SQLite的體系結構由3個子系統和8個獨立模塊組成,如圖2所示,它顯示了SQLite的主要成分及各成分之間的關聯,其中有一些相當接近于關系數據庫管理。

圖2 SQLite的體系機構

接口位于整個結構的頂端,由SQLite C API組成。所有與SQLite交互的程序和庫文件都是通過接口進行的。Tokenizer(詞法分析器)和Parser(語法分析器)協同對文本形式的查詢語言進行分析,驗證其語法的有效性,然后轉化成底層能更容易處理的層次化數據結構。這個結構的中心部分便是數據庫引擎VDBE(Virtual DataBase Engine)。VDBE在字節碼上工作,區別于頂層操作系統、系統體系結構和CPU。B-tree、page cache(頁緩存)、操作系統接口組成了整個后端。B-tree和pager作為信息代理,他們并不知道信息內容,只是對這些信息進行移動和排列。

3.2 SQLite在ARM上的實現

SQLite嵌入式數據庫的代碼使開源的,根據不同需求的硬件平臺,對源碼進行交叉編譯即可實現移植。在上的編譯過程主要有以下幾個步驟:

解壓sqlite壓縮文件

tar -zvxf sqlite-autoconf-3071300.tar.g

得到文件sqlite-autoconf-307130

進入sqlite-autoconf-3071300目錄

[root@localhost ~]# cd /home/sqlite-autoconf-3071300/

配置

[root@localhost sqlite-autoconf-3071300]# ./configure

編譯

[root@localhost sqlite-autoconf-3071300]# make

安裝

[root@localhost sqlite-autoconf-3071300]# make install

默認安裝路徑為/usr/local/及系統標準目錄

頭文件 sqlite3.h sqlite3ext.h安裝在 /usr/local/include下

以及頭文件標準目錄 /usr/include下

庫文件

libsqlite3.a libsqlite3.so.0.8.6 libsqlite3.so.0 libsqlite3.so

安裝在/usr/local/lib目錄下并且共享庫文件libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6安裝在系統庫文件標準目錄/usr/lib下,可執行文件sqlite3安裝在/usr/local/bin目錄下以及系統可執行標準目錄/usr/bin下,幫助文檔man安裝在/usr/local/share目錄下。

修改Makefile文件:

將代碼行BBC=arm-linux-gcc-g-02改成BBC=gcc-g-02。用make生成sqlite、libsqlite.a和libsqlite.so。為了減小執行文件大小可用strip處理,去掉其中的調試信息。

在ARM板上運行SQLite:

將SQLite下載到ARM板的/tmp目錄,修改權限并運行:

chmod +wx sqlite

./sqliteest.sqlite

會出現:

sqlite>

如果一切正常,SQLite已經在ARM-Linux下正常運行,然后就可以基于此進行數據庫數據的遠程處理。

4 結束語

該遠程數據庫的設計,可以提高現階段RTU在ARM7開發板上的歷史數據存儲和數據借調的缺點,在分析對比了各數據庫在嵌入式下的表現,選取了比較符合需求的SQLite數據庫,并且完成了在ARM-Linux下的編譯以及開發工作。實踐證明,基于ARM9的數據庫設計可以完成對數據采集更多的需求。

參考文獻

[1]李文進,韓曉萍.ARM平臺在嵌入式遠程數據采集系統中的設計與實現[J].繼電器,2006,05:64-67.

[2]郝曉弘,李桂肅,瞿華.基于移動網絡的嵌入式遠程數據終端實現[J].微計算機信息,2007,05:24-25+23.

[3]黃萬志,陳永煌.基于嵌入式Linux的遠程數據采集系統[J].現代電子技術,2007,04:55-57.

[4]周衛玉,孫新亞.基于ARM和uCLinux的嵌入式遠程數據采集終端[J].計算機工程,2004,23:156-158.

作者簡介:李少雄(1990,3-),男,陜西省咸陽市,西安石油大學,2012級,碩士研究生,計算機院,計算機科學與技術,計算機技術。

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 区国产精品搜索视频| 国产亚洲美日韩AV中文字幕无码成人 | 在线一级毛片| 欧美三级日韩三级| 免费国产好深啊好涨好硬视频| 国产高清色视频免费看的网址| 亚洲三级色| 国产亚洲精品无码专| 亚洲美女操| 91黄视频在线观看| 日本亚洲成高清一区二区三区| 亚洲无码精品在线播放| 亚洲人成影院午夜网站| 亚洲一区二区在线无码| 亚洲不卡无码av中文字幕| 色综合天天娱乐综合网| 青青青伊人色综合久久| 久久久亚洲色| 日韩 欧美 小说 综合网 另类| 尤物亚洲最大AV无码网站| 午夜欧美在线| 国产亚洲欧美日韩在线一区| av在线5g无码天天| 91久久夜色精品国产网站| 久久人与动人物A级毛片| 中文字幕亚洲精品2页| 日韩视频福利| 亚洲日韩精品综合在线一区二区 | 天天激情综合| 亚洲系列中文字幕一区二区| 99ri精品视频在线观看播放| 亚洲色图欧美视频| 午夜视频www| 人妖无码第一页| 在线a网站| 亚洲资源站av无码网址| 日韩欧美国产三级| 色妺妺在线视频喷水| 国产欧美网站| 99免费视频观看| 日韩成人在线网站| 亚洲第一极品精品无码| 久久影院一区二区h| 国产福利免费视频| 在线观看亚洲天堂| 一级一级一片免费| 毛片免费视频| 亚洲国产欧美自拍| 欧美精品一二三区| a色毛片免费视频| 免费在线播放毛片| 久久亚洲中文字幕精品一区| 国产91无码福利在线| 欧美www在线观看| 亚洲免费福利视频| 亚洲三级电影在线播放| 亚洲第一成年人网站| 91精品专区国产盗摄| 成AV人片一区二区三区久久| 男女男精品视频| 国产精品视频观看裸模| 国产精品一线天| 欧美黄色a| 在线观看视频99| 国产av一码二码三码无码| 国产视频入口| 激情六月丁香婷婷四房播| 国产精品极品美女自在线看免费一区二区| 亚洲一区二区日韩欧美gif| 91精品综合| 亚欧美国产综合| 亚洲精品片911| 91精品久久久无码中文字幕vr| 在线观看国产网址你懂的| 国产日本欧美亚洲精品视| 色九九视频| 国产乱子伦无码精品小说| 日韩AV手机在线观看蜜芽| 爱做久久久久久| 国产对白刺激真实精品91| 亚洲无码高清免费视频亚洲| 久久婷婷国产综合尤物精品|