说明:本文档主要讲述将开源的软件移植到嵌入式平台上的方法。
linux上的开源软件如(fastdb,sqlite)等都是可以移植到嵌入式开发板上的。下面以fastdb为例进行介绍。
1. 搭建交叉编译平台
我们在linux环境下进行交叉编译,任何一个linux操作系统的发行版本都可以。笔者用的操作系统是fedora 8。
(1) 首先创建路径:mkdir /usr/local/arm
(2) 将中嵌公司提供的工具软件arm-2007q3.tar.bz2 拷贝到我们创建的目录中,并解压:
cp arm-2007q3.tar.bz2 /usr/local/arm/
cd /usr/local/arm
tar jxvf arm-2007q3.tar.bz2
(3) 修改环境变量PATH。通过修改文件/etc/profile,修改环境变量。
gedit /etc/profile
在该文件的末尾添加如下两行:
PATH=$PATH:/usr/local/arm/arm-2007q3/bin
export PATH
保存文件。
注销用户并重新登录后,新设置的环境变量方生效。
2. 进行交叉编译
下面我们进行fastdb的交叉编译。
(1) 将fastdb的源代码拷贝至/home路径下(该路径可以任意),并解压,然后进入解压后的路径。
cd /home
cp fastdb-9.4.tar.gz /home
tar zxvf fastdb-9.4.tar.gz
cd fastdb
(2) 交叉编译
./configure --host=arm-none-linux-gnueabi
make
该过程一般耗时较久(10分钟左右)。
3. 拷贝编译生成文件到嵌入式开发板
交叉编译后生成的可执行文件和动态库一般位于文件目录的src路径下。
对于fastdb来讲,生成的可执行文件位于/home/fastdb/src,该目录下可执行文件有四个:subsql, forcerecovery, cleanupsem, cgistub。将其拷贝至开发板的/usr/local/bin/路径下
(拷贝的方法可以通过我们集成开发环境中的telnet进行,也可以通过ftp进行拷贝,通过ftp拷贝的方法在本文后面进行介绍)。
fastdb生成的动态库文件位于/home/fastdb/src/.libs下。将文件libfastdb.so.2.0.0 拷贝至开发板的/usr/local/lib/路径下,并更名为libfastdb.so。
为了测试生成的文件是否可以执行,可以在开发板的系统中输入subsql指令,若出现类似如下提示,则证明移植成功。
[root@wusq .libs]# subsql
SubSQL interactive utility for FastDB v. 3.67
Type 'help' for more information
>>