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在线无码| 免费A级毛片无码无遮挡| 一级毛片不卡片免费观看| 国模在线视频一区二区三区| 国产菊爆视频在线观看| 精品国产毛片| 97在线免费| 美女无遮挡拍拍拍免费视频| 午夜精品福利影院| 2019年国产精品自拍不卡| 亚洲综合色婷婷| 91精品国产一区| 久久综合色播五月男人的天堂| 国产在线高清一级毛片| 日韩精品亚洲精品第一页| 国产真实二区一区在线亚洲| 美女内射视频WWW网站午夜 | 亚洲天堂免费| 国产主播一区二区三区| 亚洲精品福利视频| 精品黑人一区二区三区| 国产高清精品在线91| 无码福利视频| 亚洲大学生视频在线播放 | 日韩色图在线观看| 国产成人91精品| 欧美色99| 草逼视频国产| 国产91导航| 伊人色天堂| 狠狠色婷婷丁香综合久久韩国| 一本大道在线一本久道| 亚洲精品日产AⅤ| 国产高清无码第一十页在线观看| 人妻中文字幕无码久久一区| 欧美黄色a| 99久久精品无码专区免费| 欧美日韩精品在线播放| 欧美日韩激情在线| 久久一本日韩精品中文字幕屁孩| 国产美女无遮挡免费视频网站| 精品91自产拍在线| 国产成人在线无码免费视频| 国产特级毛片| 久久婷婷六月| 国产一级毛片高清完整视频版| 色噜噜狠狠狠综合曰曰曰| 日本不卡在线| 99ri国产在线| 色综合天天综合| 国产亚洲精品精品精品| 欧美成一级| 中文字幕久久亚洲一区 | 播五月综合| 夜夜操天天摸| 亚洲精品在线影院| 国产微拍一区| 免费AV在线播放观看18禁强制| 国产精品香蕉| 国产va免费精品| 欧美亚洲日韩不卡在线在线观看| 国产成人麻豆精品| 亚洲综合经典在线一区二区| 国产成人综合久久精品尤物| 国产av剧情无码精品色午夜|