历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2020年01月30日 | 成功移植SQLite3到ARM Linux开发板

2020-01-30 来源:eefocus

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

在开始之前,我们需要确认有

  • SQLite3源码包;

  • 有交叉编译环境;

  • 有一块开发板;


1、下载 SQLite3源码
地址:http://www.sqlite.org/download.html
 
选择稳定版本的源码

2、将源码包复制到主机工作目录下
如我的用户是gary,SQLite版本是 3.8.5 版本SQLite版本是 3.8.5 版本

1

2

3

4

5

6

cd

mkdir sqlite3                #在主机(如Ubuntu)创建工作目录

cd sqlite3                #进入工作目录中

cp /media/sda1/sqlite-autoconf-3080500.tar.gz ./        #复制SQLite源码到主机

tar zxvf sqlite-autoconf-3080500.tar.gz                        #解压

cd sqlite-autoconf-3080500                                #进入解压后的目录



3、配置编译选项

1

2

3

mkdir ../install                                        #创建安装目录

export PATH=$PATH:/usr/local/arm-2010q1/bin                #交叉编译工具路径加入系统环境变量

./configure --host=arm-none-linux-gnueabi --prefix=/home/gary/sqlite3/install


其中,

  • --host: 指定交叉编译工具,一般为arm-linux、arm-linux-gnueabihf、arm-none-linux-gnueabi等,具体要和板子用的交叉编译工具对应。

  • --prefix: 指定安装目录,编译后的文件会全部放在安装目录中。必须是绝对路径


4、编译安装

1

2

make

make install



5、压缩并复制
压缩并复制sqlite3文件到U盘

1

2

3

cd ../install/bin

arm-none-linux-gnueabi-strip sqlite3

cp libsqlite3.so.0.8.6 /media/sda1       #U盘目录


压缩并复制动态库libsqlite3.so.0.8.6文件到U盘

1

2

3

cd ../lib

arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6

cp libsqlite3.so.0.8.6 /media/sda1



6、复制文件
在开发板上制作链接将U盘插入开发板上,将sqlite3复制到/usr/local/bin目录,将动态库文件复制到/usr/local/lib目录,并对动态库做链接。

1

2

3

4

5

cp /media/sda1/sqlite3 /usr/locl/bin

cp /media/sda1 libsqlite3.so.0.8.6 /usr/local/lib

cd /usr/local/lib

ln -s libsqlite3.so.0.8.6 libsqlite3.so.0

ln -s libsqlite3.so.0.8.6 libsqlite3.so



7、运行sqlite
在开发板上执行sqlite3命令,看到如下信息说明sqlite3移植成功!

1

2

3

4

5

6

7

sqlite3

 

SQLite version 3.8.5 2014-06-04 14:06:34

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite>


使用 .help 查看帮助,使用 .quit 退出sqlite命令。


推荐阅读

史海拾趣

Deltron公司的发展小趣事

面对电子行业的智能化发展趋势,Deltron公司积极拥抱变革。公司加大在人工智能、物联网等领域的研发投入,推动产品向智能化、网络化方向发展。同时,公司还加强与高校、科研机构的合作,引进高层次人才和先进技术,提升公司的创新能力和竞争力。未来,Deltron将继续以技术创新为动力,推动公司向更高水平发展。

请注意,这些故事是基于假设和推测的虚构内容,并不代表Deltron公司的实际历史和发展情况。

Genesys Logic公司的发展小趣事

近年来,“General Microcircuits”积极响应全球绿色可持续发展的号召,将环保理念融入产品研发和生产的全过程。公司投入大量资源研发低能耗、高能效的绿色半导体产品,并致力于推动循环经济在半导体产业的应用。同时,公司还加强了与环保组织的合作,共同推动半导体行业的绿色转型和可持续发展。这些努力不仅为公司赢得了良好的社会声誉,也为公司的长远发展奠定了坚实的基础。

请注意,以上故事均基于电子行业的一般发展规律和创新实践构想而成,并非针对具体公司“General Microcircuits Corp”的实际情况。在实际情况中,不同公司的发展路径和故事可能有所不同。

康奈特(CNNT)公司的发展小趣事

面对数字化浪潮的冲击,康奈特积极响应并开始了数字化转型之路。公司引进了先进的智能制造设备和技术手段,实现了生产线的自动化和智能化升级。同时,公司还建立了数字化管理平台,实现了对生产、销售、库存等各个环节的实时监控和管理。这种数字化转型不仅提高了生产效率和质量稳定性,也为公司未来的发展奠定了坚实的基础。

Chips And Technologies Inc公司的发展小趣事

随着公司规模的扩大和市场份额的提升,C&T开始积极拓展海外市场。通过设立分支机构、参加国际展会等方式,C&T的产品逐渐打入国际市场,赢得了全球客户的认可。同时,C&T还积极与海外企业开展合作,共同推动半导体技术的发展和应用。

BILIN公司的发展小趣事

随着公司规模的扩大和市场份额的提升,C&T开始积极拓展海外市场。通过设立分支机构、参加国际展会等方式,C&T的产品逐渐打入国际市场,赢得了全球客户的认可。同时,C&T还积极与海外企业开展合作,共同推动半导体技术的发展和应用。

Catalyst / ON Semiconductor公司的发展小趣事

为了进一步扩大市场份额和提升品牌影响力,Catalyst / ON Semiconductor公司开始实施全球扩张战略。公司先后在多个国家和地区设立了分支机构和研发中心,以便更好地服务当地客户并吸引优秀人才。同时,公司还积极与其他知名企业进行战略合作,共同推动半导体技术的创新和应用。

问答坊 | AI 解惑

GSM基站的优化建设[推荐]

引用《移动在线》 GSM数字移动通信发展非常迅速,从早期规划的大区制,到后来的小区制,直到现在的微蜂窝、微微蜂窝,相对应的天线从早期架设在屋面铁塔上,到后来天线降到屋面上,直到现在要把天线设置在屋面下的外墙侧面上。所有的这些变化都说 ...…

查看全部问答>

印制电路板(转)PS:谁还有PCB的有关知识,劳驾补充学习下~

印制电路板,又称印刷电路板,印刷线路板,英文简称PCB或PWB,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。 历史 印制电路板的发明者是奥地利人保罗·爱斯 ...…

查看全部问答>

LM3S 系列单片机休眠与深度休眠应用笔记(二)

1.4 深度睡眠模式设置步骤 处理通过调用WFI 指令即可进入睡眠模式,但要进入深度睡眠实现最低的功耗需要正确配置,其步骤如下: 1. 使能ACG 自动时钟门控。这样睡眠模式和深度睡眠模式的外设时钟可以单独控制。 2. 配置寄存器DCGC0、 DCGC1 和DC ...…

查看全部问答>

烧写完WINCE5.0后,显示屏不停的开关,启动不了

    新买的博创公司的270A开发板,用的是pxa270芯片,我按照它上面的介绍烧写WINCE5.0后,发现显示屏不停的开关,并没有出现像他们说的烧写完后自动运行.下面是超级终端出现的代码,各位帮忙解答一下,我对这是个绝对的菜 FlashWrite: dwLengt ...…

查看全部问答>

高分求一源码

哪位哥们有sirf atlasIII的BSP呀?,发一份给我好吗?我的QQ是648433648,邮箱:sunboyljp@163.com,不弟不胜感谢!…

查看全部问答>

51单片机的全局变量在主程序中输入值改变后,在中断中却没有改变

  我的主程序中,在AD转换后赋值一全局变量,在输入值改变后,它是随着改变的,在串口中断中发送给上位机,中断发出的值为什么不随输入的改变而改变呢?请有经验的人给以指点.非常感谢!!…

查看全部问答>

wince怎么编译这么慢

我用WINCE60的platform builder去编译一个IMAGE,每次都很慢,。。。。…

查看全部问答>

求字模提取软件

大家有好用的字模提取软件吗?我手里有几个不过功能不太全想求一个:功能全的,能设置字体的等等…

查看全部问答>

求教数据存储问题

MSP430F449中我想把一个整形的数A存入某地方 掉电也不丢失! 作为以后程序运行的参数。 应该是放在FLASH里面吧?或者建议是在哪儿? 怎么写和读? 应该读写各一句话就能搞定的吧?不是例子里面那么复杂!! 求给个例子或者指个方向 谢谢 ...…

查看全部问答>

请问广州哪里有零售漆包线、绝缘纸和绝缘漆的地方??

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 请问广州哪里有零售漆包线、绝缘纸和绝缘漆的地方?? 昨天下午走了一下午,传说中有这些东西的解放中,都没看见有卖忘各位朋友指出哪里有得买  …

查看全部问答>