当前位置:首页 > 嵌入式 > 嵌入式硬件

随着后pc时代的到来,各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机。嵌入式开发已成为当前it行业的热点。同时,越来越多的用户希望能对嵌入式环境下的数据进行更有效的管理,构建嵌入式数据库便是一个有效的方法,使用户能在嵌入式设备中方便地存储、检索或修改数据,实现大部分传统数据库的功能。嵌人式系统和数据库技术的紧密结合已经成为嵌入式开发的一个重要方向。1嵌入式数据库sqlite

与传统c/s结构的各种大型关系数据库如oracle,
sql server,mysql等相比,在嵌入式系统中由于软硬件资源有限,不可能安装庞大的数据库服务器,而且在很多时候,用户只需要使用这些数据库产品的一些基本特性而已。嵌入式系统的开发环境决定了其数据库的特点:无需独立运行的数据库引擎,而是由程序直接调用相应的api实现对数据的存取操作。嵌入式数据库与其他数据库产品的区别是,前者是程序驱动式,而后者是引擎响应式。

sqlite是d.richard hipp在2000年开发的一个小型嵌入式数据库。他是完全独立的,不具有外部依赖性,可以较为方便地应用于嵌入式系统中。其源代码完全开放,可以免费用于任何用途,包括商业目的。sqlite虽然是个极端轻量级的关系数据库,却保留了数据库的大部分特征,他提供了对sql92标准的大多数支持:支持多表和索引、事务、视图、触发和一系列的用户接口及驱动。其主要特征如下:

(1)支持原子的、一致的、独立的和持久的(acid)事务特性,即使系统崩溃和掉电。(2)零配置(zero-configuration),无需安装和管理。(3)一个完整的数据库存储在单一磁盘文件中。(4)数据库文件可以在不同字节顺序的机器间自由共享。(5)支持数据库大小至2 tb(2^41 b)。(6)字符串和二进制大对象(blobs)的大小仅被有效内存限制。(7)源码体积小,编译后低于250 kb。(8)大部分的操作比关系型数据库引擎要快。(9)简单易用的api。sqlite由于小、快、简单、可靠,而且作者完全放弃版权,从他一发布出来,便深受欢迎。对于嵌人式环境,管理、执行、维护的简单化比企业数据库引擎提供的许多复杂应用更重要,因此sqlite数据库是一个很好的选择。2 sqlite内部结构及开发技术2.1 sqlite内部结构sqlite采用模块化的设计,主要由4个部分组成:内核(core)、sql编程器(sql compiler)、后短(backend)以及附件(accessories)。内部结构如图1所示。
sqlite的接口是一些已经编写好的c库,即使使用不同语言的api,在底层仍然使用c库执行。sql语句通过接口进入到高效的sql编译器,由标记处理器(tokenizer)分解成柠檬分析器(parser)可以识别的各个标志符,然后由分析器重新组合标志符并调用代码生成器(codegeneratot)生成虚拟机器码,交由虚拟机(virtual machine)去执行,最终完成sql语句指定的任务。虚拟机是sqlite内部结构的核心,不仅完成与数据操作相关的全部操作,而且还是客户和存储之间信息进行交换的中间单元。数据库按照b树(b-tree)的形式存储在磁盘上,通过可调整的页面缓冲(pager)获得对数据的快速查找和存储。为了方便移植,sqlite使用一个抽象层接口(os interface)与不同操作系统进行对接。2.2 sqlite开发技术sqlite本身提供了c语言的api接口,使得对数据库的操作十分简单,主要是对3个api函数的调用。
其中,sglite3_exec()函数的第二个参数用来处理一条或多条sql语句,语句间必须用";"号隔开。如果是查询(select)语句,查询结果的每一条记录都必须调用第三个参数的callback函数,第四个参数则为callback函数的第一个参数指针。如果不是查询语句,第三、四个参数为null。所有sql执行完毕后返回0,否则返回错误代码,可通过第五个参数值来查看详细错误信息。3 sqlite在嵌入式远程监控系统中的应用3.1 sqlite应用程序开发基于嵌入式操作系统和嵌入式数据库系统构建的嵌入式楼宇配电远程监控系统的系统结构如图2所示。
本系统以32位的arm微处理器s3c4510b为硬件开发平台,采用μclinux操作系统,移植了boa服务器和sqlite嵌入式数据库。系统主要功能如下,从底层设备采集的现场数据,经过数据处理,保存到嵌人式数据库sqlite。用户可在任何和internet相连的地

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭