亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式的數據庫設計

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

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

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

        引言

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

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

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

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

        圖1 硬件系統(tǒng)主要構成圖

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

        2 Linux下的數據庫的應用

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

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

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

        3.1 SQLite的體系結構

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

        圖2 SQLite的體系機構

        接口位于整個結構的頂端,由SQLite C API組成。所有與SQLite交互的程序和庫文件都是通過接口進行的。Tokenizer(詞法分析器)和Parser(語法分析器)協(xié)同對文本形式的查詢語言進行分析,驗證其語法的有效性,然后轉化成底層能更容易處理的層次化數據結構。這個結構的中心部分便是數據庫引擎VDBE(Virtual DataBase Engine)。VDBE在字節(jié)碼上工作,區(qū)別于頂層操作系統(tǒng)、系統(tǒng)體系結構和CPU。B-tree、page cache(頁緩存)、操作系統(tǒng)接口組成了整個后端。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/及系統(tǒng)標準目錄

        頭文件 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安裝在系統(tǒng)庫文件標準目錄/usr/lib下,可執(zhí)行文件sqlite3安裝在/usr/local/bin目錄下以及系統(tǒng)可執(zhí)行標準目錄/usr/bin下,幫助文檔man安裝在/usr/local/share目錄下。

        修改Makefile文件:

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

        在ARM板上運行SQLite:

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

        chmod +wx sqlite

        ./sqliteest.sqlite

        會出現:

        sqlite>

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

        4 結束語

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

        參考文獻

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

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

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

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

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

        猜你喜歡
        嵌入式
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術的應用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        自動化博覽(2014年4期)2014-02-28 22:31:15
        免青青草免费观看视频在线| 狠狠综合亚洲综合亚洲色| 久久久久人妻一区二区三区| 久久精品国产色蜜蜜麻豆| 亚洲av色无码乱码在线观看| 国产综合精品久久久久成人| 亚洲伊人伊成久久人综合| 电驱蚊液可以插一晚上吗| 色欲人妻综合aaaaa网| 国产亚洲日韩在线三区| 久久99精品久久久久九色| 国产毛片精品一区二区色| 久久99天堂av亚洲av| 欧美黑寡妇特a级做爰| 久久久www成人免费无遮挡大片| 午夜国产精品久久久久| 午夜视频手机在线免费观看| 日韩av一区二区网址| 久久成人影院精品777| 日韩精品无码久久久久久| 中文人妻av大区中文不卡| 国产一区二区三区不卡视频| 精品无码一区二区三区爱欲| 国产精品无码av一区二区三区| 91精品全国免费观看青青| 国产精品一级黄色大片| 91久久国产香蕉视频| 亚洲精品www久久久久久| 丰满人妻熟妇乱又伦精品视| 麻豆国产VA免费精品高清在线| 亚洲av综合av国一区二区三区| 中文字幕 亚洲精品 第1页| 99久久婷婷国产综合精品电影| 亚洲中文字幕在线一区二区三区| 冲田杏梨av天堂一区二区三区| 精品国内日本一区二区| 久久99精品久久水蜜桃| 亚洲天堂2017无码中文| 日韩在线中文字幕一区二区三区| 手机在线播放av网址| 久久久久99精品成人片直播|