导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[sz20120406]SQLite 在ARM-Linux 平台



No.58837
作者:sz20120406
邮件:383959053@qq.com
ID:130937
登陆:2次
文章数:69篇
最后登陆IP:111.222.53.176
最后登陆:2012/5/2 17:40:27
注册:2012/4/11 12:44:55
财富:101
发帖时间:2012/4/11 12:49:09
发贴者IP:183.14.0.223
标题:sz20120406:SQLite 在ARM-Linux 平台上的实现[原创]
摘要:No.58837SQLite 在ARM-Linux 平台上的实现[原创] SQLite 在ARM-Linux 平台上的实现
SQLite 嵌入式数据库提供了以源码发布的方式,要在众多的硬件平台进行移植,可以根据不同平台对源码进行交叉编译来实现。编译主要有以下几个步骤:
① 到http :/ / www. sqlite. org/ 的cvs中下载最新的源代码包,解压并根据需要进行适当的修改后将生成sqlite目录,另外新建并转到一个与sqlite目录平行的同级目录,如make目录。
②用“echo $PATH”命令查看PATH中是否已经包含交叉编译工具arm linux gcc。
③为了在ARM Linux下能正常运行sqlite,需要对sqlite/ src/ sqliteInt . h作一定的修改,以确保bt ree (B 树)有正确的变量大小,如“pt r”和“char 3 ”。不同体系结构的Linux,如x86 和ARM,会有些差别。对于ARM2Linux可以找到如下部分:
# ifndef IN TPTR_ TYPE
# if SQL ITE_PTR_SZ = = 4
# define IN TPTR_ TYPE int
# else
# define IN TPTR_ TYPE long long
# endif
在上面的代码前加上一句
# define SQL ITE_PTR_SZ 4
这样后面的“typedef INTPTR_ TYPE pt r ;”就是定义的“int”类型,而不是“long long”。
④准备使用configure进行一些配置。请在sqlite目录下的configure中找到如下4处,并将他们注释掉,这样可以让configure不去检查你的交叉编译环境。 
⑤修改Makefile文件。将代码行BCC = arm linux gcc g O2 改成BCC = gcc g O2 。另外,一般是以静态链接的形式将sqlite 放到ARM Linux 的硬件板上运行的,所以继续修改Makefile ,找到标记为sqlite :的代码段,将其中的libsqlite. la 改成. libs/ libsqlite. a 。做完上述修改,用make 生成sqlite 、libsqlite. a 、libsqlite. so 。为了减小执行文件大小可以用st rip 处理,去掉其中的调试信息。
⑥在ARM 板上运行sqlite。将sqlite 拷贝到ARM板上,方法很多,需要根据具体的情况来选择。如ftp 、cm2 dftp 、wget 等。将sqlite下载到ARM 板的/ tmp 目录,因为此目录是可写的。修改权限并运行:
chmod + wx sqlite
. / sqlite test . sqlite
会出现
sqlite >  
如果一切正常,现在sqlite已经在ARM Linux下跑了起来,然后就可以基于此进行进一步的应用开发了。
4 SQLite 在ARM- Linux 系统中应用实例
在基于Linux的媒体网络附属存储(media network attached storage,Media NAS)系统中,选用SQLite数据库作为NAS系统中媒体数据的存储数据库,使得数字媒体播放设备通过UPnP ( universal plug-and-play)协议对NAS上的媒体文件进行播放 ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:8750毫秒 查询6次