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综合| 欧美成人一级| 亚洲AV成人一区国产精品| 97超级碰碰碰碰精品| 成人精品免费视频| 福利国产微拍广场一区视频在线| 国产麻豆精品在线观看| 欧美成人午夜影院| 丰满少妇αⅴ无码区| 91精品国产丝袜| 偷拍久久网| 992tv国产人成在线观看| 欧洲精品视频在线观看| 97在线碰| 成人在线天堂| 亚洲第一视频网站| 日本午夜精品一本在线观看| 在线日韩一区二区| 91高清在线视频| 成人日韩视频| swag国产精品| 欧美日在线观看| 国产在线视频福利资源站| 国产电话自拍伊人| 亚洲美女AV免费一区| 国产精品爽爽va在线无码观看 | 国产性爱网站| 国产成人高清亚洲一区久久| 美女国产在线| 成年午夜精品久久精品| 999国内精品视频免费| 国产在线91在线电影| 国产91丝袜在线播放动漫 | 成人第一页| 国产国产人在线成免费视频狼人色| 国产菊爆视频在线观看| 久热中文字幕在线| 国产夜色视频| 在线高清亚洲精品二区| 亚洲综合精品香蕉久久网| 九九久久精品免费观看| 91极品美女高潮叫床在线观看| 91欧美在线| 亚洲综合专区| 中文字幕在线免费看| 国产丝袜无码精品| 成人国产精品网站在线看| 又黄又爽视频好爽视频| 国产美女精品一区二区| 国产精品毛片在线直播完整版| 97超碰精品成人国产| 高清无码手机在线观看| 夜夜高潮夜夜爽国产伦精品| 一级成人欧美一区在线观看 | 免费看av在线网站网址| 国产美女在线观看| 亚洲男人的天堂久久精品| 日韩黄色大片免费看| 片在线无码观看| 99re这里只有国产中文精品国产精品| 日本久久久久久免费网络| 成人日韩欧美| 亚洲天堂网在线视频| 重口调教一区二区视频| 国产精品亚洲片在线va| 免费观看欧美性一级| 成人福利一区二区视频在线| 日韩欧美国产另类| 找国产毛片看| 97av视频在线观看| 老色鬼久久亚洲AV综合| 成人综合网址| 天天躁日日躁狠狠躁中文字幕| 午夜精品久久久久久久2023| 操操操综合网| 国产欧美视频综合二区| 91精品国产综合久久不国产大片| 国产91无码福利在线| 久久久久亚洲AV成人人电影软件| 国产国语一级毛片|