當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:嵌入式系統(tǒng)作為近年最為熱門的技術(shù)之一,被廣泛應(yīng)用于過程控制、工業(yè)儀表等領(lǐng)域。文中介紹了在多嵌入式設(shè)備系統(tǒng)中,設(shè)備運(yùn)行數(shù)據(jù)記錄系統(tǒng)的設(shè)計方法,包括Linux系統(tǒng)在ARM架構(gòu)下的移植、根文件系統(tǒng)的建立、SQLite數(shù)據(jù)庫的移植和設(shè)計等,并給出相關(guān)結(jié)果。

引言

隨著嵌入式技術(shù)的迅猛發(fā)展,嵌入式設(shè)備已經(jīng)廣泛應(yīng)用于信息處理的各領(lǐng)域中。在多嵌入式設(shè)備并存的系統(tǒng)中,工程人員常需要對系統(tǒng)的運(yùn)行狀態(tài)、處理信息的正確性等運(yùn)行數(shù)據(jù)進(jìn)行實(shí)時監(jiān)控和記錄,但現(xiàn)有的運(yùn)行數(shù)據(jù)多由各嵌入式設(shè)備進(jìn)行本地化存儲,無法實(shí)時對整個系統(tǒng)狀態(tài)進(jìn)行記錄和分析。

針對這個問題,本文提出了一種基于SQLite數(shù)據(jù)庫的嵌入式數(shù)據(jù)記錄模型,在此基礎(chǔ)上通過構(gòu)建嵌入式硬件平臺與移植操作系統(tǒng),并將SQLite數(shù)據(jù)庫嵌入到軟硬件平臺,使工程人員能夠從單一終端獲取系統(tǒng)各設(shè)備的運(yùn)行數(shù)據(jù)。

1設(shè)計原理

1.1嵌入式數(shù)據(jù)記錄模型

圖1所示是一個分布式數(shù)據(jù)記錄模型,本文設(shè)計的就是這種基于以太網(wǎng)的分布式數(shù)據(jù)記錄模型。系統(tǒng)采用以太網(wǎng)將本機(jī)與其他嵌入式設(shè)備連接,建立局域網(wǎng)內(nèi)的服務(wù)器/客戶端網(wǎng)絡(luò)架構(gòu)。其他嵌入式設(shè)備將運(yùn)行數(shù)據(jù)通過以太網(wǎng)送至本系統(tǒng),由系統(tǒng)進(jìn)行數(shù)據(jù)分析和狀態(tài)解讀等操作,最后交由工程人員處理。

基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

1.2數(shù)據(jù)記錄軟硬件簡介

考慮處理能力和處理器功耗因素,系統(tǒng)選用基于ARM架構(gòu)的S3C2440處理器作為主處理單元。該處理器基于ARM920T核心,具有5級流水線和哈佛結(jié)構(gòu),兼有優(yōu)異的浮點(diǎn)和定點(diǎn)數(shù)據(jù)處理能力。

嵌入式操作系統(tǒng)是連接軟件和硬件的重要模塊,向上提供與應(yīng)用程序的接口,向下提供與硬件設(shè)備交互的接口。系統(tǒng)選用嵌入式Linux系統(tǒng)作為操作系統(tǒng),它既繼承了開放的源代碼資源,又具有完善的軟件生態(tài)環(huán)境、資源的統(tǒng)一接口、優(yōu)異的可擴(kuò)展性等優(yōu)勢。

作為數(shù)據(jù)記錄的核心構(gòu)件,系統(tǒng)選用SQLite數(shù)據(jù)庫進(jìn)行運(yùn)行數(shù)據(jù)記錄。該數(shù)據(jù)庫是由DRichardHipp開發(fā)的應(yīng)用于嵌入式系統(tǒng)的輕量級數(shù)據(jù)庫,是應(yīng)用非常廣泛的開源項目。該數(shù)據(jù)庫具有以下特性:

數(shù)據(jù)庫被集成在程序中,不需專門配置和管理,單表運(yùn)行速度快;

代碼規(guī)模小,編譯后不大于256KB,運(yùn)行時占用緩存?。?

在系統(tǒng)崩潰或掉電后,可以自動完成啟動初始化和數(shù)據(jù)恢復(fù)。

2系統(tǒng)設(shè)計

系統(tǒng)采用ARM-Linux平臺,通過以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸,以SQLite數(shù)據(jù)庫進(jìn)行數(shù)據(jù)記錄,具體的系統(tǒng)架構(gòu)如圖2所示。

基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

3系統(tǒng)實(shí)現(xiàn)步驟

Linux系統(tǒng)內(nèi)核移植

軟件嵌入式系統(tǒng)內(nèi)核的移植,就是根據(jù)目標(biāo)板的具體配置,在獲取操作系統(tǒng)源碼的基礎(chǔ)上,對其進(jìn)行必要的修改,添加設(shè)備驅(qū)動,最終由交叉編譯環(huán)境生成Image文件的過程。本系統(tǒng)采用Linux2.6.29內(nèi)核,已集成了硬件平臺的大部分驅(qū)動,但由于在硬件設(shè)計階段添加了LCD顯示模塊,因此需要將LCD驅(qū)動集成到Linux內(nèi)核中,并對內(nèi)核部分具體配置做出修改。

本系統(tǒng)選用LCD廠商提供的默認(rèn)驅(qū)動,根據(jù)硬件配置修改驅(qū)動文件后編譯進(jìn)內(nèi)核中。具體步驟如下:

在內(nèi)核中添加FrameBuffer以及LCD的注冊信息;

在內(nèi)核中添加LCD平臺信息;

將LCD平臺初始操作方式添加到參數(shù)實(shí)現(xiàn)文件中。

添加完成后,根據(jù)目標(biāo)板硬件設(shè)置配置Linux內(nèi)核,需要配置的參數(shù)有CPU平臺、LCD參數(shù)、網(wǎng)絡(luò)設(shè)置、串口設(shè)置、MTD設(shè)備支持、內(nèi)部存儲單元加載方式等,具體配置方式需要參照硬件設(shè)計和元器件的器件手冊。

圖3所示是其Linux的內(nèi)核編譯圖。內(nèi)核參數(shù)配置完成后,需要在交叉編譯環(huán)境下將該內(nèi)核文件進(jìn)行生成操作,生成可在目標(biāo)板上執(zhí)行的Image文件。

基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

Linux根文件系統(tǒng)的構(gòu)建

文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu)。內(nèi)核Image文件啟動后運(yùn)行的首個程序、提供參數(shù)配置等系統(tǒng)啟動所必須的文件合稱為根文件系統(tǒng)。

系統(tǒng)選用NandFlash作為存儲介質(zhì),因此使用yaffs2文件系統(tǒng)作為根文件系統(tǒng),該文件系統(tǒng)是專為NandFlash設(shè)計的基于日志結(jié)構(gòu)的嵌入式文件系統(tǒng),提供了損耗平衡和掉電保護(hù),系統(tǒng)結(jié)構(gòu)按層次結(jié)構(gòu)設(shè)計,簡化了接口,而且轉(zhuǎn)載時間明顯快于其他文件系統(tǒng)。

系統(tǒng)在構(gòu)建yaffs2文件系統(tǒng)時,首先需要載入yaffs2代碼,并使用Busybox工具包進(jìn)行構(gòu)建。具體步驟如下:

建立基本目錄樹,修改Makefile文件,添加文件類型支持,并修改配置Busybox;

修改Fstab、Inittab和MakeFile文件,并建立設(shè)備節(jié)點(diǎn);

使用mkyaffs2image工具編譯,生成的Image文件鏡像文件如圖4所示。

基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

SQLite數(shù)據(jù)庫的構(gòu)建

系統(tǒng)使用SQLite數(shù)據(jù)庫的版本號為SQLite3.3.8,針對特定的嵌入式硬件和操作系統(tǒng),需要對數(shù)據(jù)庫中部分參數(shù)進(jìn)行修改,使其可以應(yīng)用于本軟硬件平臺上。具體步驟如下:

新建一個和SQLite目錄平行的同級目錄,并安裝與ARM架構(gòu)處理器適配的交叉編譯工具arm-linux-gcc;

打開sqlite/src/sqlitelnt.h,找到如圖5所示的部分代碼,并在這段代碼前加上#defineSQLITE_PTR_SZ4語句;

基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

注釋掉SQLite目錄下的配置文件中的交叉編譯環(huán)境校驗語句。然后執(zhí)行配置命令,在build目錄下生成Makefile和libtool腳本文件;

修改Makefile文件,將SQLite編譯成靜態(tài)鏈接的形式,然后執(zhí)行make命令,生成sqlite、libsqlite.a、libsqlite.so等文件;

使用Ftp方式將SQLite拷貝到硬件平臺上,這樣SQLite數(shù)據(jù)庫已經(jīng)可以在ARM-Linux平臺下運(yùn)行;

使用標(biāo)準(zhǔn)SQL語句編寫程序,實(shí)現(xiàn)運(yùn)行數(shù)據(jù)的存儲和篩選功能。

4結(jié)語

本文將ARM-Linux平臺和SQLite數(shù)據(jù)庫結(jié)合,設(shè)計了一種用于多嵌入式設(shè)備系統(tǒng)中的運(yùn)行數(shù)據(jù)記錄系統(tǒng)。該系統(tǒng)通過以太網(wǎng)與其他設(shè)備連接,可有效地架構(gòu)于計算機(jī)網(wǎng)絡(luò)上。該方案擴(kuò)展了嵌入式設(shè)備狀態(tài)監(jiān)控的應(yīng)用范圍,具有良好的工程應(yīng)用性。

20211120_6198cc5dd7e96__基于SQLite的嵌入式數(shù)據(jù)記錄系統(tǒng)設(shè)計

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉