SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,
它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

在开始之前,我们需要确认有

  • SQLite3源码包;
  • 有交叉编译环境;
  • 有一块开发板;

1、下载 SQLite3源码
地址:http://www.sqlite.org/download.html
<ignore_js_op> 
选择稳定版本的源码

2、将源码包复制到主机工作目录下
如我的用户是gary,SQLite版本是 3.8.5 版本SQLite版本是 3.8.5 版本

1
2
3
4
5
6
cd
mkdir sqlite3                #在主机(如Ubuntu)创建工作目录
cd sqlite3                #进入工作目录中
cp /media/sda1/sqlite-autoconf-3080500.tar.gz ./        #复制SQLite源码到主机
tar zxvf sqlite-autoconf-3080500.tar.gz                        #解压
cd sqlite-autoconf-3080500                                #进入解压后的目录

3、配置编译选项

1
2
3
mkdir ../install                                        #创建安装目录
export PATH=$PATH:/usr/local/arm-2010q1/bin                #交叉编译工具路径加入系统环境变量
./configure --host=arm-none-linux-gnueabi --prefix=/home/gary/sqlite3/install

其中,

  • --host: 指定交叉编译工具,一般为arm-linux、arm-linux-gnueabihf、arm-none-linux-gnueabi等,具体要和板子用的交叉编译工具对应。
  • --prefix: 指定安装目录,编译后的文件会全部放在安装目录中。必须是绝对路径

4、编译安装

1
2
make
make install

5、压缩并复制
压缩并复制sqlite3文件到U盘

1
2
3
cd ../install/bin
arm-none-linux-gnueabi-strip sqlite3
cp libsqlite3.so.0.8.6 /media/sda1       #U盘目录

压缩并复制动态库libsqlite3.so.0.8.6文件到U盘

1
2
3
cd ../lib
arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6
cp libsqlite3.so.0.8.6 /media/sda1

6、复制文件
在开发板上制作链接将U盘插入开发板上,将sqlite3复制到/usr/local/bin目录,将动态库文件复制到/usr/local/lib目录,并对动态库做链接。

1
2
3
4
5
cp /media/sda1/sqlite3 /usr/locl/bin
cp /media/sda1 libsqlite3.so.0.8.6 /usr/local/lib
cd /usr/local/lib
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so

7、运行sqlite
在开发板上执行sqlite3命令,看到如下信息说明sqlite3移植成功!

1
2
3
4
5
6
7
sqlite3
 
SQLite version 3.8.5 2014-06-04 14:06:34
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>

使用 .help 查看帮助,使用 .quit 退出sqlite命令。

最后,附上 arm-2010q1-202-arm-none-linux-gnueabi 编译好的sqlite3镜像,经测试在MYD-AM335X上可以正常运行:
<ignore_js_op> sqlite3.zip (444.45 KB, 下载次数: 1528) 

成功移植SQLite3到ARM Linux开发板的更多相关文章

  1. minigui移植到arm linux开发板上无法执行

    要保证目录下有该文件 /etc/MiniGUI.cfg 复制过程使用cp –af 强制复制

  2. 小白自制Linux开发板 二. u-boot移植

    上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB  中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...

  3. 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测

    ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...

  4. ARM嵌入式开发板

    iTOP-4412 ARM嵌入式开发板----主要特点 iTOP-4412开发平台是北京迅为电子研发设计的嵌入式开发板平台,核心板配备64位双通道2GB DDR3,16GBEMMC存储,三星原厂S5M ...

  5. 嵌入式Linux开发板

    嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...

  6. Linux开发板(树莓派)和服务器进行双向通信(socket)

    前言 ​ 物联网是目前嵌入开发必备的属性之一,我们常常需要把自己开发板和云端进行交互,本篇博文就记录一下. ​ 使用Socket来实现Linux开发板和服务器进行双向通信,Python中是默认集成了s ...

  7. Linux学习 :移植U-boot_2016.09到JZ2440开发板

    一.下载源码:ftp://ftp.denx.de/pub/u-boot/ 二.初始化编译: ①新建一个单板: cd board/samsung/ cp smdk2410 smdk2440 -rf   ...

  8. 小白自制Linux开发板 三. Linux内核与文件系统移植

    上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...

  9. 小白自制Linux开发板 六. SPI TFT屏幕修改与移植

    本文章参考:https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0 本篇通过SPI接口,使用ST7789V TFT焊接屏(13p ...

随机推荐

  1. CentOS 6.2 OpenVPN 搭建

    一.yum 安装. 二.下载 easy-rsa 3.0 三.生成根证书.服务器.客户端证书.ta 生成流程: wget -c https://github.com/OpenVPN/easy-rsa/a ...

  2. 【 D3.js 入门系列 --- 0 】 简介和安装

    D3的全称是(Data-Driven Documents),顾名思义可以知道是一个关于数据驱动的文档的javascript类库.如果你不知道什么是javascript,请先学习javascript的相 ...

  3. html5的发展历程

    20年磨一剑,HTML5作为下一代Web标准,她的语义之美.人性之美.简单之美.实用之美……如同一场革命,将Web从内容平台推向标准化的应用平台,并一统各在平台阵营的标准.2008年,HTML5发布首 ...

  4. 监听turtlesim仿真器,发送数据到实际的机器人--20

    摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 1.0.本教程教你写实际的ros程序,控制自己的机器人.采用的是PC端的ubuntu+ros.终 ...

  5. JavaWeb学习记录(二十六)——在线人数统计HttpSessionListener监听实现

    一.session销毁控制层代码 public class InvalidateSession extends HttpServlet { public void doGet(HttpServletR ...

  6. squid代理服务器搭建及配置

    系统环境:CentOS release 6.5 (Final)(最小化安装) 一.安装squid # yum -y install squid 二.编辑配置文件(正向代理) # vim /etc/sq ...

  7. 机器翻译 2010年NOIP全国联赛提高组

    题目描述 Description 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义 来替换.对于每个英 ...

  8. POJ 3041 Asteroids(最小点覆盖集)

                                                                      Asteroids Time Limit: 1000MS   Mem ...

  9. Amazon-countDuplicate

    Print the count of duplicate char in a given string in same order. Ex: Input- 'abbaccdbac', Output- ...

  10. 计算机算法-C语言-统计字母数字个数解

    Question:输入一串以“?”结尾的字符,分别统计其中字母数字的个数,输出字母及数字的个数. Solve: #include<stdio.h> #include<stdlib.h ...