近日,由于项目需要,采购了广州致远电子有限公司的M6708-T工控板(预装Linux系统),现打算把sqlite3移植到这个嵌入式开发板上。笔者参考了网上很多文章,但都没有达到移植成功的目的。经过多方探索,最终采用了一种简单的方法,成功实现了移植。本文介绍如何将sqlite3成功移植到M6708-T工控板,可供相关开发者参考。准备工作在本机安装Linux系统(一般安装在虚拟机上),根据工控板的用户手册在Linux系统上安装交叉开发工具链。给工控板上电,通过串口或网络登录Linux系统。这里建议给工控板设置一个静态ip地址,方便以后上传程序。登录sqlite官网(https://www.sqlite.org/)下载最新的sqlite源码,如下截图所示:迁移步骤第一步:将sqlite源码复制到Linux系统中虚拟机目录,使用命令tarxvfsqlite-autoconf-3200100.tar.gz解压生成sqlite-autoconf-3200100目录,进入该目录,可以看到如下截图所示的文件列表:第二步:使用交叉编译工具编译代码,生成sqlite的可执行文件。编译前可以使用echo$CC命令查看系统自带的编译工具是不是交叉编译工具,而不是系统自带的gcc。执行该命令后的结果如下图所示:确认交叉编译工具无误后,可以执行命令$CCsqlite3.cshell.c-osqlite3-lpthread–ldl生成可执行文件sqlite3.cshell.c-osqlite3-lpthread–ldl执行该命令后的结果如下图所示:第三步:将生成的可执行文件sqlite3从虚拟机复制到本机目录下,使用FTP工具上传到工控板目录下。这里笔者使用FileZilla软件将sqlite3上传到/usr/local/DT/sqlite目录下,如下截图所示:第四步:将上传的sqlite3文件移动到/usr/bin目录下并赋予可执行权限.执行mvsqlite3/usr/bin/命令移动文件,使用命令chmod777sqlite3修改权限。命令执行过程截图如下:第五步:执行命令sqlite3,成功启动数据库。数据库启动后的截图如下:通过以上五步,sqlite已经成功移植到工控板,接下来可以进行建表等操作,也可以编写代码调用工控板的API数据库实现数据的存储和读取操作。小结在很多参考文章中,sqlite3的可执行文件都是通过运行configure和make命令生成的。笔者一开始也使用了这种方法,但是生成的可执行文件无法在工控板上运行。笔者尝试了很多次,都没有找到无法移植成功的原因。因此,采用本文介绍的方法,轻松实现sqlite数据库的移植。当然,与PC版的Linux相比,嵌入式开发板上Linux的功能被砍掉了很多,这也导致了很多命令的缺失。当我们将一些程序移植到嵌入式开发板时,我们必须意识到它与普通操作系统的区别。【本文为专栏作家周兆雄原创文章,作者微信公众号:周氏逻辑(logiczhou)】点此阅读更多本作者好文
