linux上交叉编译的方法

 

说明:本文档主要讲述将开源的软件移植到嵌入式平台上的方法。

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

>> 

你可能感兴趣的:(linux上交叉编译的方法)