新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式数据库SQLite在远程监控系统中的应用

嵌入式数据库SQLite在远程监控系统中的应用

作者:时间:2013-04-09来源:网络收藏

本系统以32位的ARM微处理器S3C4510B为硬件开发平台,采用μClinux操作系统,移植了Boa服务器和。系统主要功能如下,从底层设备采集的现场数据,经过数据处理,保存到嵌人式数据库。用户可在任何和Internet相连的地方,通过Web浏览器便可实时监控设备状态。因此对数据库的访问有上端的以太网通信程序和下端的CAN通信程序。这里主要讨论以太网通信程序。下面以CGI程序访问数据库,然后在客户端浏览器动态显示的Display.cgi程序为例,说明数据库API函数的用法。程序主要代码如下:



3.2 SQLite应用程序交叉编译

S3C4510B是Samsung公司开发的一款性价比很高的无MMU的32位ARM处理器,而,μClinux是经过对标准Linux内核的改动,专门针对没有MMU的CPU,适合嵌入式系统小型化应用。μClinux采用romfs文件格式,比Linux的ext3文件格式需要更少的空间,但却继承了大部分Linux的优秀特性。

为了将嵌有SQLite的CGI程序应用到S3C4510B+μClinux开发平台上,必须对CGI程序进行交叉编译,然后下载到ARM开发板。因为交叉编译要用到romfs格式的libsqlite.a库文件,使得过程有点麻烦,主要步骤如下:

(1)下载SQLite源代码:可以到SQLite的官方网站(http://www.sqlite.org/download.html),下载最新SQLite-3.3.7.tar.gz源代码包或者SQLite-2.8.17.tar.gz。本文以SQLite-3.3.7.tar.gz为例,进行说明。

(2)将下载的软件包进行解压缩tar zxvf sqlite-3.3.7.tar.gz这时在用户目录下会有sqlite-3.3.6文件夹生成。

(3)添加Makefile文件和修改main.mk文件交叉编译过程中,最重要的是写一个与μ2Clilnux相适应的Make-file文件。本文使用的μClinux是μClinux-dist-20041215.tar.gz,交叉编泽工具为arm-elf-tools-20030314.sh。完整的Makefile内容如下:

TOP=../sqlite-3.3.7

最后修改main.mk文件头部的TCCX为:TCCX:$(TCC)$(OPTS)$(T卜IREA[)SAFE)$(LJSI。EEP)-I.-I$(TOP)/$src$(CFLAGS)$(LDFLAGS)

再往下几行,找到LIBOBJ中的tclsqlite.o并去掉他。这样全部修改完毕。

(4)交叉编译

cd/sqlite-3.3.7make

这时会在sqlite-3.3.7文件夹中生成.romfs格式的sqlite3和静态链接库libsqlite3.a这两个最有用的东西。CGI程序的交叉编译如下:

arm-elf-gcc-Wl,-elf2flt-o Display.cgi Display.clsqlite3-L/sqlite-3.3.7

交叉编译时需要用到的静态库文件就是前面生成libsqlite3.a,结果生成300 kB的Display.cgi程序,通过NFS方法调试通过后,放到cgi-bin目录下,同内核一起编译后下载到开发板。

4结 语

SQLite在楼宇配电监控系统中的应用,满足监控系统数据共享的管理要求。由于资源占用少、性能良好和零管理成本,大有用武之地。SQLite以他小巧的体积、快速高效、稳定可靠、易移植等优势将成为嵌入式数据库领域的新宠。加上免费开放源代码、没有版权限制,是一个值得推广的应用软件。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭