將sqlite3移植到嵌入式Linux開發板M6708上
最近,因為項目的需要,我們購買了廣州致遠電子有限公司的M6708-T工控板(預裝Linux系統),準備將sqlite3移植到本嵌入式開發板上。筆者參考了網上的很多文章,均無法達到成功移植的目的。在多方摸索之下,終于采用了一種簡單的方法成功實現了移植。本文介紹如何成功地將sqlite3移植到M6708-T工控板上,可供相關的開發人員參考。
準備工作
在本機上安裝好Linux系統(一般都是安裝在虛擬機上面的),并按照工控板的用戶手冊在Linux系統上安裝交叉開發的工具鏈。
將工控板上電,能夠通過串口或網絡等方式登錄到Linux系統中。這里建議為工控板設置靜態的ip地址,這樣以后上傳程序比較方便。
登錄到sqlite的官網(https://www.sqlite.org/)上去下載***的sqlite源代碼,如下截圖所示:
移植步驟
***步:將sqlite源代碼拷貝到虛擬機的Linux系統目錄中,并使用命令tar xvf sqlite-autoconf-3200100.tar.gz解壓,生成sqlite-autoconf-3200100目錄,轉到該目錄中,可看到文件列表如下截圖所示:
第二步:使用交叉編譯工具編譯代碼,生成sqlite的可執行文件。在編譯之前,可以用echo $CC命令查看系統上的編譯工具是否是交叉編譯工具而非系統自帶的gcc,執行該命令后的結果如下截圖所示:
確認交叉編譯工具正確之后,便可執行命令$CC sqlite3.c shell.c -o sqlite3 -lpthread –ldl生成可執行文件sqlite3,執行該命令后的結果如下截圖所示:
第三步:將生成的可執行文件sqlite3從虛擬機拷貝到本機目錄下,并利用FTP工具將之上傳到工控板的目錄下。這里,筆者使用了FileZilla軟件將sqlite3上傳到/usr/local/DT/sqlite目錄下,如下截圖所示:
第四步:將上傳之后的sqlite3文件移動到/usr/bin目錄下,并賦予可執行的權限。執行mv sqlite3 /usr/bin/命令移動文件,并使用命令chmod 777 sqlite3修改權限。命令執行過程的截圖如下所示:
第五步:執行命令sqlite3即可成功啟動數據庫。數據庫啟動之后的截圖如下所示:
通過以上五個步驟,sqlite就被成功移植到了工控板上,接下來便可以進行建表等操作了,也可以編寫代碼調用數據庫的API實現對數據的存儲及讀取操作了。
總結
在很多參考文章中,都是通過運行configure和make命令來生成sqlite3可執行文件的,筆者最開始也使用了這種方法,但生成的可執行文件在工控板上無法運行。筆者重復試了很多次,也沒有找到無法成功移植的原因。因此采用了在本文中描述的方法,輕松實現了sqlite數據庫的移植。
當然,相比于PC版的Linux來說,嵌入式開發板上的Linux的功能被裁剪了很多,這也導致了很多命令是沒有的。我們在將一些程序移植到嵌入式開發板上的時候,一定要意識到它與普通的操作系統之間的差別。
【本文是51CTO專欄作者周兆熊的原創文章,作者微信公眾號:周氏邏輯(logiczhou)】