1. 程式人生 > >【ARM-Linux開發】嵌入式作業系統上的小型資料庫移植SQLite

【ARM-Linux開發】嵌入式作業系統上的小型資料庫移植SQLite

近段時間在學資料庫,因為自身需求,所以注重研究了點嵌入式sqlite資料庫,SQLite,是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。

自我感覺用起來很high的...

就不扯了,下面言歸正傳:

下面就將sqlite移植到ARM開發板上的具體步驟貼下來,在移植之前首先需要做的工作一是搭建PC端與ARM端資料共享機制,關於這個的方法很多,我在之前的文章中也就nfs共享的具體步驟做過詳細的說明,這裡就不在累贅了。二是搭建交叉編譯環境;檢測本機是否已經安裝交叉編譯環境可在終端中鍵入#arm-linux-gcc -v進行檢視

獲取sqlite原始碼包,原始碼包可到www.sqlite.org官方網站下載,我在此使用的是sqlite-3.6.18.tar.gz
1.將sqlite-3.6.18.tar.gz解壓到/home目錄下,並在sqlite-3.6.18目錄下建立sqlite-arm-linux目錄
#cd /home/sqlite-3.6.18
#mkdir sqlite-arm-linux

2.首先備份configure檔案 
#cp configure configure.old
3.修改configure檔案,
#./configure --host=arm-linux --disable-tcl --prefix=/home/sqlite-3.6.18/sqlite-arm-linux/
4.修改Makefile檔案
BBC = gcc -g -O2 
5.編譯並安裝
#make && make install
6.為了減小執行檔案大小,可用strip處理,去掉其中的除錯資訊
#cd /home/sqlite-3.6.18/sqlite-arm-linux/bin
#arm-linux-strip sqlite3
7.而後進行移植
對庫的拷貝時要加上-arf選項,因為libsqlite3.so, libsqlite3.so.0是連結到libsqlite3.so.0.8.6的
#cd /home/sqlite-3.6.18/sqlite-arm-linux/lib
#cp -arf libsqlite3.so, libsqlite3.so.0, libsqlite3.so.0.8.6 /usr/yang(共享目錄)
#cd /home/sqlite-3.6.18/sqlite-arm-linux/bin
#cp sqlite3 /usr/yang(共享目錄)
8.在開發板終端中將三個庫檔案拷貝到其庫中,而後即可使用sqlite了。

但要提醒一點的就是,sqlite跟MySQL....有點不一樣喲..
我剛開始玩的時候首先就輸入了show databases;結果讓我很揪心,所以在大家用sqlite之前還是建議先學好用法.

我相信你會在嵌入式資料庫中玩的很high的....

相關推薦

ARM-Linux開發嵌入式作業系統小型資料庫移植SQLite

近段時間在學資料庫,因為自身需求,所以注重研究了點嵌入式sqlite資料庫,SQLite,是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體

ARM-LInux開發利用scp 遠端傳下載檔案/資料夾

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[[email protected]]host1:]file1 

ARM-Linux開發U-Boot啟動過程--詳細版的完全分析

----------------------------------------------------------------------------------------------------------------------------------------

ARM-Linux開發CUDA開發視訊開發關於Linux下利用GPU對視訊進行硬體加速轉碼的方案

最近一直在研究Linux下利用GPU進行硬體加速轉碼的方案,折騰了很久,至今沒有找到比較理想的硬加速轉碼方案。似乎網上討論這一方案的文章也特別少,這個過程中也進行了各種嘗試,遇到很多具體問題,以下便對之前所作的一些工作做一些總結和分享,省的時間長了自己也忘記了,也希望後來

ARM-Linux開發Gstreamer+QT+攝像頭 程式設計總結

1,gstreamer開發手冊,gstreamer官網(這些都不用說了吧) 2,gst-launch的用法,這也不用說了吧。(白菜,雞蛋,西紅柿,磚頭,滑鼠……..) lqplayer--基於gstreamer和qt的Linux下的簡單播放器。 實現了基於QT

ARM-Linux開發DSP開發AM5728介紹

AM5728 Sitara Processors 1.介紹 1.1AM572x概述 AM572x是高效能,Sitara器件、以28nm技術整合: 結構設計主要考慮嵌入式應用,包括工業通訊,人機介面(HMI),自動化控制,其它

Linux開發OpenCV在ARM-linux移植過程遇到的問題4---共享庫中巢狀庫帶路徑已解決

【Linux開發】OpenCV在ARM-linux上的移植過程遇到的問題4—共享庫中巢狀庫帶路徑【已解決】 標籤:【Linux開發】 緊接著上一篇,我居然又嘗試了一下編譯opencv,主要是因為由於交叉編譯ARM-Linux,opencv,好像剛開始ma

Linux開發LinuxArm-Linux程式開發筆記(零基礎入門篇)

Linux及Arm-Linux程式開發筆記(零基礎入門篇)  目錄 一、Arm-Linux程式開發平臺簡要介紹... 3 1.1程式開發所需系統及開發語言... 3 1.2系統平臺搭建方式... 4 二、Linux開發平臺搭建... 5 2.1安裝虛擬工作站...

Linux開發CCS遠端除錯ARM,AM4378

注意一點:CCS也是安裝在Linux主機上的,不是安裝在Windows上的,我在Windows上做出了很多嘗試,但最終也不沒明白究竟要用怎樣的格式去執行在ARM-Linux應用程式,out檔案ELF可

24、支付模組開發——將下載下來的支付寶API Demo執行在web

上一篇23、【支付模組快發】——Java對接支付寶步驟(沙箱環境)我們講解了怎麼配置相關配置檔案,下面我們除錯一下怎麼使其在IDEA的web專案中跑起來,然後在瀏覽器中進行操作 我們用IDEA匯入支付寶對接Demo的是時候發現不能執行,下面講解一下怎麼在IDEA中執行支付寶Demo並且在

linux中jpeglib庫,Linux開發jpeglib使用指南

我覺得,你應該現在應該是libjpeg的dev沒有安裝. 檢視下是否已經安裝了,沒安裝的話,apt-get install libjpeg-dev 或者yum install -y libjpeg libjpeg-devel 您可以到www.ijg.org網站下載libj

微信開發傳使用者語音 並轉碼 分享

好久沒有寫部落格了,這段時間遇到了很多問題都沒有記錄下來 今天剛好上線了一個小活動,期間遇到一些比較折騰的問題,撐著有時間記錄一下 需求 臨近聖誕節,運營組想了一個活動來拉新,活動的大概內容是這樣的; 使用者訪問活動首頁, 點選 【我想說】 然後呼叫微信的 JSDK 來錄音,錄

linux開發程序間通訊命名管道-共享記憶體-記憶體對映-訊息佇列-訊號量

程序間通訊命名管道-共享記憶體-記憶體對映-訊息佇列-訊號量  在Unix平臺上,建立命名管道是建立了一個fifo檔案,和在shell下面用mkfifo命令的效果是一樣的。看起來這個管道檔案就是一個普通的檔案系統瓜掛載點,但是它只不過是作為一個名稱存在,實際的內容是一塊系統

Linux技術嵌入式linux核心的五個子系統

Perface    Linux核心主要由程序排程(SCHED)、記憶體管理(MM)、虛擬檔案系統(VFS)、網路介面(NET)和程序間通訊(IPC)5個子系統組成,如圖1所示。 圖1 Linux核心的組成部分與關係 1.程序排程    程序排程控制系統中的多個程序對CPU的訪問,使

Linux開發GCC 4.8及以上支援記憶體非法訪問檢查

gcc4.8及以上版本支援地址越界,野指標檢查,只需要在編譯時使用-fsanitize=address選項即可,當執行程式時如果訪問非本程式申請的地址就會報錯。[email protected]:/home/ngos/practice> vi nullpoi

Linux開發jpeglib使用指南

您可以到www.ijg.org網站下載libjpeg的原始碼, IJG JPEG Library就是jpeg壓縮庫,是以原始碼的形式提供給軟體開發人員的,當然在軟體包裡也有編譯好的庫檔案,我們這裡就只用到其中的libjpeg.lib,jconfig.h,jmorecfg.

移動開發在Canvas顯示動畫

本文翻譯自《50 android hacks》當自定義View的時候,可以利用Canvas給View新增一些動畫效果。下面的例子,是在螢幕上繪製一個紅色的小方塊,這個小方塊會在螢幕上面“亂跳”。知識點使用到的知識點:(1) 在View的子類的draw()中呼叫invalida

Android 系統開發 編譯 Android檔案系統 u-boot 核心 並燒寫到 OK-6410A 開發

本篇文章中用到的工具原始碼下載 : -- 光碟所含內容 : Android 引導 u-boot 原始碼, Android 核心 原始碼, Android 系統原始碼, 交叉編譯工具鏈;各項操作說明 : -- 編譯環境 : 編譯原始碼 (u-boot, 核心, Android

Linux開發Linux下jpeglib庫的安裝詳解

echo "please add following lines in you /etc/profile"   echo "("   echo " tip:"   echo " you can add these lines in a file named /etc/profile.jpeg,"   echo

Linux開發Qt開發QT 同時支援滑鼠和觸控式螢幕

現在 如果我要使用滑鼠 匯入環境變數 export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice 使用觸控式螢幕,匯入環境變數 export QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0 如果想同時兩個都支援   export