嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计

上传人:壹****1 文档编号:507756655 上传时间:2022-10-28 格式:DOC 页数:14 大小:56KB
返回 下载 相关 举报
嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计_第1页
第1页 / 共14页
嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计_第2页
第2页 / 共14页
嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计_第3页
第3页 / 共14页
嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计_第4页
第4页 / 共14页
嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计(14页珍藏版)》请在金锄头文库上搜索。

1、*实践教学*兰州理工大学计算机与通信学院2014年秋季学期嵌入式系统课程设计题目:基于嵌入式Linux系统的嵌入式数据库应用设计专业班级:12级物联网(01)班姓名:学号:12280121指导教师:成绩:摘要随着移动计算时代的到来,嵌入式操作系统对移动数据库系统的需求为数据库技术开辟了新的发展空间。嵌入式数据库技术目前已经从研究领域逐步走向了广泛的应用领域。随着移动终端的普及,人们对移动数据的实时处理和管理要求不断提高,嵌入式数据库也越来越显示出其优越性。本课程设计利用实验室提供的ARM6410试验箱进行相应的设计,主要包括了解Linux环境下搭建嵌入式数据sqlite的基本方法,理解Linu

2、x下sqlite的基本使用方法,API接口函数,sqlite语法,掌握C语言编程的实现。 关键词:嵌入式、数据库、sqlite、API接口函数、C语言前言数据库的目标是实现对数据的存储、检索等功能。传统的数据库产品除提供了基本的查询、添加、删除等功能外,也提供了很多高级特性,如触发器、存储过程、数据备份恢复等。但实际上用到这些高级功能的时候并不多,应用中频繁用到的还是数据库的基本功能。于是,在一些特殊的应用场合,传统的数据库就显得过于臃肿了。在这种情况下,嵌入式数据库开始崭露头角。嵌入式数据库是一种具备了基本数据库特性的数据文件,它与传统数据库的区别是:嵌入式数据库采用程序方式直接驱动,而传统

3、数据库则采用引擎响应方式驱动。嵌入式数据库的体积通常都很小,这使得嵌入式数据库常常应用在移动设备上。由于性能卓越,所以在高性能的应用上也经常见到嵌入式数据库的身影。SQLite是一种采用C语言开发的嵌入式数据库。SQLite的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现那些对于数据库而言非常必要的功能。尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色。基本原理SQLite具有的特点1. ACID事务 2. 零配置 无需安装和管理配置 3. 储存在单一磁盘文件中的一个完整的数据库 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至

4、2TB 6. 足够小, 大致3万行C代码, 250K 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. Source完全的Open, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python由于SQLite具有功能强大、接口简单、速度快、占用空间小这样一些特殊的优点,因此特别适合于应用在嵌入式环境中。SQLite在手机、PDA、机顶

5、盒等设备上已获得了广泛应用。SQLite的SQL语法SQLite库可以解析大部分标准SQL语言。但它也省去了一些特性并且加入了一些自己的新特性。SQLite执行如下的语法ALTER TABLE ANALYZE ATTACH DATABASE BEGIN TRANSACTION 注释 COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLECREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTIO

6、N EXPLAIN 表达式 INSERT ON CONFLICT子句 PRAGMA REINDEX REPLACE ROLLBACK TRANSACTION SELECT UPDATE VACUUM以上只是对SQLite实现的SQL语法的综述,有所忽略。SQLite C/C+接口由于早期的SQLite只支持5个C/C+接口,因而非常容易学习和使用,但是随着SQLite功能的增强,新的C/C+接口不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C+接口是专用的,因而很少被使用到。尽管有这么多的调用接口,核心的API仍然相对简单和便

7、于调用。以下举例常用的SQLite数据库与用户应用程序C/C+接口sqlite3_open()该接口打开与一个SQLite数据库文件的连接并返回一个数据库连接对象。这通常是应用程序调用的第一个SQLite API接口而且也是调用其他SQLite API接口前需要调用的接口。许多SQLite接口需要一个指向数据库连接对象的指针作为它们的第一个参数,因而这些接口也可以理解成是数据库连接对象的操作接口。该接口就是创建了这样一个数据库连接对象。sqlite3_prepare()该接口把一个SQL语句文本转换成一个预处理语句对象并返回一个指向该对象的指针。这个接口需要一个由先前调用sqlite3_ope

8、n()返回的数据库连接对象指针以及一个预处理的SQL语句文本字符串为参数。这个API并不实际解析SQL语句,仅仅是为后续的解析而对SQL语句进行的预处理。sqlite3_step()该接口用于解析一个由先前通过sqlite3_prepare()接口创建的预处理语句,直至返回第一列结果为止。通过再次调用sqlite3_step()可以返回下一列的结果,继续不断地调用sqlite3_step()直至整个语句完成为止。对于那些并不返回结果的语句(例如:INSERT,UPDATE,DELETE语句)一次调用sqlite3_step()就完成了语句的处理。sqlite3_column()该接口返回一个由

9、sqlite3_step()解析的预处理语句结果集中当前行的某一列数据。每次执行sqlite3_step()都返回一个新的结果集中的一行。可以多次调用sqlite3_column()接口返回那一行中所有列的数据。就像上面所说的那样,SQLite API中并没有sqlite3_column()这样的接口。取而代之的是一组用于从结果集中查询出各个列项各种数据类型数据的函数接口。在这组函数接口中,有些接口返回结果集的大小,有些返回结果集的列数。- sqlite3_column_blob() - sqlite3_column_bytes() - sqlite3_column_bytes16() - s

10、qlite3_column_count() - sqlite3_column_double() - sqlite3_column_int() - sqlite3_column_int64() - sqlite3_column_text() - sqlite3_column_text16() - sqlite3_column_type() - sqlite3_column_value()sqlite3_finalize()该接口销毁之前调用sqlite3_prepare()创建的预处理语句。每一个预处理语句都必须调用这个接口进行销毁以避免内存泄漏。sqlite3_close()该接口关闭一个由之

11、前调用sqlite3_open()创建的数据库连接。所有与该连接相关的预处理语句都必须在关闭连接之前销毁。一个应用程序可以通过执行以下几个步骤执行一条SQL语句:(1) 使用sqlite3_prepare()创建一个预处理语句。(2) 重复调用sqlite3_step()解析执行预处理语句。(3) 对于查询操作,两次调用sqlite3_step()之间通过sqlite3_column()接口查询返回的结果。(4) 最后,使用sqlite3_finalize()销毁预处理语句。上述就是有效使用SQLite所需要知道的知识,其余的仅仅是些需要补充的细节而已。sqlite3_exec()该接口是执行

12、上述四个步骤的一个方便的应用调用封装接口,传递给sqlite3_exec()的回调函数用于处理每一列返回的结果集。系统分析一、目的及意义嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统,用户应用程序4个部分组成。用于实现对其他设备的控制,监视或管理等功能。嵌入式系统已经广泛应用于科学研究,工业控制,军事技术,交通通信,医疗卫生,消费娱乐等领域,人们常用的手机,PDA,汽车,智能家电,GPS等均是嵌入式系统的典型代表。本课程设计要求利用实验室提供的ARM

13、6410试验箱进行相应的设计,主要包括了解Linux环境下搭建嵌入式数据sqlite的基本方法,理解Linux下sqlite的基本使用方法,API接口函数,sqlite语法,掌握C语言编程的实现。二、设计任务及要求利用 ARM6410实验箱和C语言来实现。完成如下的工作:1 熟悉ARM6410实验箱;2 掌握C语言的编程思路;3 了解嵌入式数据库SQLite在嵌入式中的应用4 编写用户应用程序对嵌入式数据库的访问和交互; 5 验证结果。三、 实验平台的认识认识博创经典实验箱 本次课设将以博创科技13年最新推出的UP-CUP210-II型嵌入式开发平台为硬件基础。UP-CUP210-II型教学科

14、研平台集成了USB、SD、LCD、Camera等常用设备接口,适用于各种手持设备、消费电子和工业控制设备等产品的开发。UP-CUP210-II型网关部分平台可以作为计算机、电子通讯、软件开发等专业开设嵌入式软件课程的教学平台,又可作为广大从事PDA和科研单位的参考设计平台。建立开发环境 1、平台硬件连接硬件:UP-CUP210-II型平台、12V电源线、串口线、网线、USB数据线 UP-CUP210-II型开发平台经常使用的硬件端口有调试串口UART0、DM9000网口及12V电源线。电源:12V电源(切勿插错电源!)。串口UART0:开发板DB9插座上引出了两个串口,串口0和串口1。其中UART0排布在靠近15P VGA接口一端,是我们经常使用的调试串口,它连接开发板与PC机端(超级终端等),进行开发板的串口信息监视与控制。DM9000网口:开发板板载2个网卡芯片,我们使用的是DM9000A网卡,排布在开发板最外侧,主要使用该网卡进行文件传输及下载程序服务。平台启动运行软件:串口工具:超级终端、XSHELL、MINICOM等跳线:NANDFLASH启动开发板可以通过核心板端OM跳线选择启动方式,系统出厂模式使用NANDFLASH启动方式,启动前请确认跳线是否正确。建立串口超级终端:开发板主要使用串口

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号