sqlite数据库在嵌入式下载机中的应用研究

sqlite数据库在嵌入式下载机中的应用研究

ID:25746879

大小:50.00 KB

页数:5页

时间:2018-11-22

sqlite数据库在嵌入式下载机中的应用研究_第1页
sqlite数据库在嵌入式下载机中的应用研究_第2页
sqlite数据库在嵌入式下载机中的应用研究_第3页
sqlite数据库在嵌入式下载机中的应用研究_第4页
sqlite数据库在嵌入式下载机中的应用研究_第5页
资源描述:

《sqlite数据库在嵌入式下载机中的应用研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLite数据库在嵌入式下载机中的应用研究摘要SQLite是开放源码的嵌入式数据库,其特点是独立性强,不具有外部依赖性,资源占用少,能直接嵌入到应用程序中,即能提供零配置(zero—configuration)运行模式。本文介绍了SQLite系统的特点和体系结构,在arm-linux平台上成功地移植了SQLite。并利用SQLite和网络成功地实现了用户与嵌入式下载机系统的动态交互,最后对数据库进行加密保障了安全性,可广泛用于远程控制。关键词嵌入式数据库SQLite下载机1引言在应用系统中的数据存储和检索一般采用数据库如ACCESS、MYSQL等来实现,但很多时候,系统只是用了数据库产品的一

2、些基本特性,这样就造成浪费了很多的系统资源。特别是在嵌入式系统中,由于硬件和软件资源都很有限,一般的数据库系统根本无法在这些平台上使用。因此,嵌入式数据库应运而生。嵌入式数据库系统实质是支持某种特定计算机模式或移动计算的数据库管理系统,它通常与操作系统和具体应用集成在一起,运行在智能型嵌入式设备或移动设备上[1]。嵌入式数据库的使用是采用程序驱动,即由程序调用相应的API函数来实现数据的存取。嵌入式数据库的体积小,编译后一般只有几十KB,非常适合在嵌入式设备上使用。由于嵌入式系统应用环境没有统一的标准,故嵌入式数据库应充分体现可定制的特性,因此,开放源码的嵌入式数据库具有明显的优势。2Sqli

3、te数据库Sqlite数据库是D.RichardHipp用C语言编写的开源嵌入式数据库,支持的数据库大小为2TB,全部源代码约3万行,每个数据库完全存储在单个磁盘文件中,数据以B+树数据结构的形式存储在磁盘上,Sqlite根据该文件系统获得其数据库权限[2]。Sqlite可直接运行在大多数的操作系统上,并且支持C/C++、Java等常用的开发工具。本项目用到的是Sqlite最新版本3.3.4,支持多数SQL92标准,如SELECT、CREATE、TABLE、ALTER、INDEX、VIE2410—K1,包括CPU模块、Flash、SDRAM存储部分。底板包括USB接口、以太网控制芯片、CAN/

4、RS485通信模块。核心板CPU采用三星公司SBC2410芯片。SBC2410芯片基于ARM920T内核,而ARM920T内核有存储单元MMU、ARM9TDMI和高速缓存三部分组成,运行频率可达203MHZ,MMU管理虚拟内存,实现虚拟地址物理之间的转换。CAN总线通信芯片采用Microchip公司的MCP2510。它支持模式CAN2.0A、CAN2.0B,与国内常用的SJA1000相比,MCP2510数据吞吐率高且使用简单。本嵌入式下载机实现的主要功能有两大部分:一是单独与网络相连接,接受来自于网络的命令而自动下载任务;二是可实现磁盘的热插拔和与PC机的Samba共享(如图1)。在现代生活中

5、,当在Office上班的人们想在下班回家能有自己想看的电影或音乐,而且不需要回家再耗时下载,则可以利用上班时空闲在家的嵌入式,而在家里的嵌入式下载机接到指令后就会自动判断用户的帐号、密码,正确后将要下载的任务添加给下载程序。在这过程中用户不用担心掉电或断网后数据问题,因为此系统中设计掉电保护程序。于是当上班的人们回家后只需打开PC机就可以通过网络利用Samba和下载机共享,或者是直接将USB插入现代数字电视就可以看到精彩的电影和欣赏到动听的音乐了。4嵌入式数据库Sqlite的移植下载的稳定版本,configure已经存在,直接进行配置:[rootlinuxsqlite-3.3.4]#./con

6、figure--host=$ARCH-linux--prefix=$ROOTFS_DIR/usr如果交叉编译工具是arm-linux-gcc的话则采用下面的配置语句[rootlinuxsqlite-3.3.4]#./configure--host=arm-linux--prefix=$ROOTFS_DIR/usr如果出现了如下错误:configure:error:unabletofindapilerforbuildingbuildtools前面检查arm-linux-gcc都通过了,怎么还说没有找到编译器呢?结合configure.ac看了一下,原来是要设置config_TARGET_CC和c

7、onfig_BUILD_CC两个环境变量。config_TARGET_CC是交叉编译器,config_BUILD_CC是主机编译器。[rootlinuxsqlite-3.3.4]#exportconfig_BUILD_CC=gcc[rootlinuxsqlite-3.3.4]#exportconfig_TARGET_CC=arm-linux-gcc[rootlinuxsqlite-3.3.4]#.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。