- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式数据库SQLite的移植与使用 张光建 zgj@cqut.edu.cn 要点 软件移植的概念 软件移植的过程 嵌入式数据库 SQLite介绍 SQLite在ARM平台上的移植 SQLite的使用 SQLite在ARM平台上的移植实验 SQLite的使用实验 软件移植的概念 非X86体系结构的计算机除了使用Linux作为操作系统之外,它们要想投入到实践运用当中,还必须依赖相应的软件。 大部分的软件都是针对X86平台开发的。又因为单独为一台嵌入式设备开发一个应用软件所发的时间和成本都是巨大的,因此,我们直接采用开源软件,针对特定的非X86平台,做适当修改,使它们能够正常地运行于这种平台,这个过程就叫移植。 软件移植的概念 当要对一个软件进行移植时,我们必须有一定的理论和实践基础 首先要能够充分地掌握软件移植的目标平台,包括对目标硬件平台的体系结构要有一定的了解,熟练掌握目标平台的操作系统等。 还要对移植的软件有全面的认识,如软件的功能、支不支持目标平台、软件目录结构等都要预先知道,甚至对软件的源代码也必须能够读懂。 软件移植过程 软件移植过程 准备工作 包括准备好软件的源码安装包、安装相应的交叉编译器、设置并配置相应的环境变量等实验环境。 软件移植过程 开始移植 移植前首先查看一下软件源码包中的Readme文件,一般软件开发者会在这个文件中对软件给予一定的说明。Readme文件也可能含有软件的安装步骤,我们可以按照这个步骤进行移植。大部分软件的移植或者安装都是进入源码目录,然后执行configure命令,生成Makefile文件,最后执行make和make install命令进行编译生成可执行程序。 有时候软件本身很大,占用的资源太多,而我们需要软件的功能却很有限,这样我们有必要先对软件进行裁减。我们也可以在执行configure命令的时候带上一些选项,禁止掉我们不需要的功能。这样,当执行make命令编译时就不会把这些功能编译进去,使我们的可执行程序足够小。 在执行make命令的时候,难免会遇到编译出错的问题。这时候,首先我们要保证Makefile文件中使用的编译器是否正确,这里的编译器不一定都是交叉平台的编译器,有些程序可能需要在宿主机上执行,这时编译这个程序选用的就是X86平台的编译器。其次,我们查看一下具体编译出错的问题,这时候一般涉及到具体的源代码,针对出现的问题,加以修改后重新编译。 当编译没有出现问题,生成可执行程序后,可以进行下一步。 软件移植过程 运行并测试 将编译后的可执行程序下载到目标机上运行。如果运行正常,就可以算是移植成功。如果不能运行或是运行的效果不佳,那就有必要找出原因,加以解决后重新编译,直到生成的可执行程序正常地在目标机上运行。 特别需要注意的是,选择软件时,需关注它们本身的版本和相互依赖关系,因为某些软件体本身它不是孤立的,而且在其开发过程时也有特殊的环境。 嵌入式数据库 随着计算机技术与其它学科间的不断交融渗透,数据库应用的范围更加深入和具体。那些仅适用于PC机、体积庞大、延时较长的数据库技术已不能满足嵌入式系统开发的需求。 数据库的目标是实现对数据的存储、检索和增删等功能。传统的数据库产品除提供基本的查询、添加、删除等功能外,也提供了很多高级特性,如触发器、存储过程、数据备份恢复等。然而,在嵌入式系统中,由于软硬件资源有限,不可能安装庞大的数据库服务器。 嵌入式数据库与传统数据库的区别是:嵌入式数据库采用程序方式直接驱动,而传统数据库则采用引擎响应方式驱动;嵌入式数据库的体积通常都比较小,而且具备功能齐全、可移植性强、健壮性等特点。 SQLite介绍 SQLite是一款轻型数据库,设计目标主要针对嵌入式系统。其占用资源少,在嵌入式设备中,可能只需要几百K内存就足够了。 它能够支持Windows、Linux、Unix等等主流的操作系统 能够跟很多程序语言相结合,比如Tcl、PHP、Java等,比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来说,它的处理速度更快。 SQLite虽然很小巧,但是支持的SQL语句不会逊色于其它开源数据库。 SQLite介绍 SQLite的特点 ACID事务 零配置——不需要安装和管理配置 储存在单一磁盘文件中的一个完整的数据库 数据库文件可以在不同字节顺序的机器之间自由共享 支持数据库大小至2TB 足够小,250K 速度比大部分的普通数据库操作都要快 SQLite在ARM平台上的移植 下载源码包,解压。安装配置交叉编译器。 在文件sqliteint.h里面指定SQLITE_PTR_SZ的值为4,使btree(B树)有正确的变量大小,否则在ARM开发板上执行时,会出现如下问题:在文件btree.c中抛出断言,assert( s
您可能关注的文档
最近下载
- 《Linux操作系统及应用技术》全套教学课件.pptx
- 第三单元基于算法的编程基础 第6课 生活中的算法-查找与排 说课稿 -2023-—2024学年青岛版(2024)初中信息技术第四册.docx VIP
- 普通混凝土长期性能和耐久性能试验方法标准.pdf VIP
- 中国新生儿复苏指南(2021年修订).pptx VIP
- 3m直尺平整度检测记录表.docx VIP
- 施工现场环境因素识别与评价表.xls VIP
- 2025_2026学年九年级上册数学第一次月考[陕西专用 北师大版九上:特殊四边形 一元二次方程 概率].docx VIP
- 产品售后服务体系.docx VIP
- 12SS508混凝土模块式室外给水管道附属构筑物.docx VIP
- 新02S3图集集合图.pdf VIP
文档评论(0)