《一、嵌入式sqlite库的移植》

 FM001 Sqlite3动态库移植模块设计

  1. 功能描述

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。

就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件

  1. 不需要一个单独的服务器进程或操作的系统(无服务器的)。
  2. SQLite 不需要配置,这意味着不需要安装或管理。
  3. 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
  4. SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KB。
  5. SQLite 是自给自足的,这意味着不需要任何外部的依赖。
  6. SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
  7. SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
  8. SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
  9. SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行,可以直接将监控记录的****.db拿出来在Linux或者Windows上打开、解析。
  1. 设计意图和实现方法说明

Sqlite移植方法如下:

  • sqlite3库的下载

Sqlite3下载:http://www.sqlite.org/download.html下载linux版本的源码

  • Sqlite3的交叉编译

Configure

执行configure,指定交叉编译链,生成编译所需要的Makefile

进入src目录,./configure    CC=arm-wrs-linux-gnueabi-armv5tel-glibc_small-gcc  --host=arm-wrs-linux-gnueabi  --prefix=/usr/tmp/sqlite3/

Make && make install

在src目录下执行make 生成 libsqlite3.so.0.8.6

Strip

编译出来的库文件比较大,BSP可能没有足够的空间,使用strip用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,libsqlite3由2840k减少到840K

【Linux】$  arm-wrs-linux-gnueabi-strip libsqlite3.so.0.8.6

  • sqlite3库的运行链接

程序运行所需要的依赖库一般在系统目录下的/lib,此次项目由于不涉及BSP 的更改,

最终的sqlite3库就不能放置在/lib目录下,通过linux全局变量,指定链接库路径方式调用。

在startapp 中加入pcap库路径:

LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH

  • sqlite3库常用C接口介绍

打开数据库:Sqlite3_Open

创建表:Sqlite3_CreateTable

执行数据库语句:sqlite3_exec

写二进制:

{

准备插入语句:sqlite3_prepare()

绑定二进制结构体参数:sqlite3_bind_blob

执行:sqlite3_step

}

嵌入式linux下sqlite应用相关推荐

  1. 嵌入式Linux下的Qt环境搭建

    嵌入式Linux下的Qt环境搭建 本文介绍如何在嵌入式Linux开发板上配置Qt运行环境,并进行Qt程序运行测试 一.tslib编译 要想Qt 支持触摸需要编译 tslib ,以生成触摸相关插件. t ...

  2. 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误

    嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报  分类: 嵌入式(928)  一般察看函数运行时堆栈的 ...

  3. 嵌入式Linux 软件界面,嵌入式Linux下的图形用户界面系统设计

    为了满足嵌入式系统的界面设计需求,给出了一种图形用户界面系统SKY-GUI的设计思路和其在嵌入式Linux环境下的实现方法.SKY-GUI有四大组成部分:输入抽象层.显示抽象层.事件系统和窗口系统.其 ...

  4. 南京邮电大学嵌入式系统开发实验5:嵌入式Linux下LED报警灯驱动设计及编程

    实验5  嵌入式Linux下LED报警灯驱动设计及编程 一.实验目的 理解驱动本质,掌握嵌入式Linux系统下驱动开发相关知识,包括端口寄存器访问.接口函数编写.和文件系统挂接.注册及相关应用编程等知 ...

  5. 嵌入式linux音频播放器设计,基于嵌入式Linux下Madplay音频播放器设计论文.docx

    基于嵌入式Linux下Madplay音频播放器设计论文 滁州职业技术学院计算机应用技术专业毕业论文PAGE I 滁州职业技术学院信息工程系--2015届计算机应用专业毕业论文 姓 名: 周杰 班 级: ...

  6. 嵌入式linux进行视频监控,嵌入式Linux下的视频监控解决方案

    原标题:嵌入式Linux下的视频监控解决方案 在嵌入式工控板上接一个摄像头进行视频监控,看起来比较容易实现,但往往是"理想很丰满.现实很骨感".历经千辛万苦效果却不是很理想,本文就 ...

  7. gsm基于linux程序,基于嵌入式Linux下GSM模块的短信收发系统设计

    摘要:移动通信中的短消息业务以其方便.可靠和价廉得到了广泛应用,本文在嵌入式Linux系统中,通过西门子MC35模块,实现了短信收发系统,该系统采用PDU短信模式,能支持中文短信.程序设计采用异步事件 ...

  8. 嵌入式linux查看usb设备驱动程序,嵌入式Linux下USB驱动程序的设计

    嵌入式Linux下USB驱动程序的设计 usb概念:  USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不 ...

  9. 嵌入式linux中断驱动,嵌入式Linux下硬件中断驱动程序的开发.pdf

    嵌入式Linux下硬件中断驱动程序的开发.pdf 2003 年 6 月 航空精密制造技术 Jun. 2003 第 39 卷 第 3 期 AVIATION PRECISION MANUFACTURING ...

最新文章

  1. WebDriver 识别反爬虫的原理和破解方法~
  2. Sqoop数据迁移原理及基本框架
  3. 原来这就是Java代码生成器的原理啊,太简单了
  4. dll文件的c++制作
  5. JS 获取浏览器、显示器 窗体等宽度和高度
  6. CentOS7下分布式文件系统FastDFS的安装 配置 (单节点)
  7. 数据库加一列,cursor:pointer
  8. 在SOUI中使用线性布局
  9. 题目:[NOIP 2011]计算系数
  10. mysql参数积累 持续更新。。。
  11. 高效而轻松的sed命令
  12. 每日一练||第二周汇总
  13. 解决Macbook互联网不能共享 因为它是受802.1X保户问题
  14. 《网络攻防》 免杀原理与实践
  15. Hadoop分析NCDC气象数据
  16. LocalDateTime 的用法
  17. Currency Trading: Dollar in a Funk as Traders Bet on Slow Rebound
  18. 武汉大学计算机学院李俊,GML空间数据存储技术研究.pdf
  19. Angular------win10搭建Angular环境并运行hello-world
  20. Java基本计算方法

热门文章

  1. 用VB操作注册表 [转]
  2. F# 图形数学基础。
  3. 游戏建模过程中如何布线?建模布线原理和技巧
  4. 文档习惯之格式篇 用文档逼疯一个人的五种办法
  5. 云网融合趋势下,视觉云如何颠覆媒体体验?
  6. 【一步教学,一步到位】拼多多社招三面多久给结果
  7. JavaWeb自学笔记02
  8. linux 用户 组区别吗,Linux用户组之主组和附加组
  9. ”VT-x is not available (VERR_VMX_NO_VMX)“ 和 “VBoxManage: error: Details: code NS_ERROR_FAILURE”问题
  10. PC微信机器人之实战分析微信图片加密解密