【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相关推荐
- ARM+linux+2440嵌入式开发相关经典书籍(转)
源:ARM+linux+2440嵌入式开发相关经典书籍 转载于:https://www.cnblogs.com/LittleTiger/p/7992971.html
- 嵌入式arm linux产品,基于ARM——Linux的嵌入式产品平台构建
摘要: 随着计算机技术的发展,嵌入式系统已成为计算机领域一个重要组成部分,并成为近年来新兴的研究热点.ARM7TDMI是一种高效,低功耗的RISC处理器,以该内核为核心的 LPC2210 是一款基于以 ...
- 移植中文TTS(ekho)到ARM linux开发板
移植ekho到arm linux,实现将中文转换为.wav格式的语音文件. 移植开源库libsndfile到arm linux开发板 1. 下载压缩源码包libsndfile-1.0.28.tar.g ...
- ARM学习(12)基于arm架构的嵌入式操作系统理解
ARM学习(12)基于arm架构的嵌入式操作系统理解 笔者来聊聊指令集的理解 这里写自定义目录标题 ARM学习(12)基于arm架构的嵌入式操作系统理解 symbol 符号表认识 symbol符号表的 ...
- linux占内存小的浏览器,基于μCLinux嵌入式操作系统上的浏览器内存管理策略研究详解...
0 引言 在嵌入式系统中,由于设备性能限制系统总的可分配内存相对较小,而在嵌入式平台上浏览器正常运行所需内存一般都比较大,并且内存分配和释放操作也比较频繁,例如,IPTV EPG界面上显示各类菜单按钮 ...
- 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
5.2 U-Boot移植 5.2.1 Bootloader介绍 1.概念 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序.通过这段程序,可以 ...
- Linux·主流嵌入式操作系统(RTOS)
满足实时控制要求的嵌入式操作系统(RTOS)操作系统,以下介绍14种主流的RTOS,分别为μClinux.μC/OS-II.eCos.FreeRTOS.mbed OS.RTX.Vxworks.QNX. ...
- linux下s3c2440开发板,SAMSUNG S3C2440 ARM LINUX 开发板 上手初体验 --开发环境搭建
1,linux开发环境搭建 2,程序测试 easyOpentag驱动安装,打开连接,选择ARM-linux 1,环境搭建 我的系统版本 root@ubuntu:~# lsb_release -a No ...
- [Linux]关于在国产操作系统上安装Oracle数据库
现在国产系统的势头正盛,不少用户都在考虑转向国产系统了. 除了我们开发的业务系统,背后的数据库也是需要考虑的.那么,Oracle数据库是否可以在国产操作系统上正常运行呢? 1.就此咨询了麒麟软件技术人 ...
最新文章
- php简单的log文件
- setTimeOut() 和 setTimeInterval()
- mysql 存储过程out,in,inout分别表示什么
- 的setinterval函数_Vue定时器与JS 定时器 setInterval() 和 setTimeout()
- [网摘].NET 程序员十种必备工具-概述
- laravel mysql 配置,laravel5数据库配置及其注意事项
- 【RLchina第四讲】Model-Based Reinforcement Learning
- MATLAB设计不同结构的FIR或IIR滤波器
- [每日一题] 11gOCP 1z0-052 :2013-09-16 shared server mode........................................B21...
- 北语计算机保研,北京中医药大学2021届保研率14.4%,北京语言大学2021推免率10.8%...
- python基本代码教程-如何真正零基础入门Python?(第一节)
- 迅雷虚拟服务器,迅雷离线服务器UA
- 开放式社区?太小儿科了,智慧城市才是重点
- 好用的json在线工具
- Bitmap对象在内存中的大小和转化为字节流的大小
- uni 登录token方法_uni-app 中保持用户登录状态
- crt不能回退_CRT优化与QRS波宽度的研究进展
- 小学老师如何与不同性格的家长沟通?
- 【tensorflow学习之路】如何使用gpu进行运算
- MATLAB—离散一元、二元、多元函数求导求梯度(二维、三维、多维空间)(diff和gradient)