【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開發】Linux及Arm-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