新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于路由器的开源嵌入式操作系统学习平台

基于路由器的开源嵌入式操作系统学习平台

作者:时间:2013-04-23来源:网络收藏

2.3 嵌入式的编译与移植
的移植和完整的移植一样,涉及从交叉编译工具环境构成到镜像生成及部署的一系列工作,下面作简要介绍。
2.3.1 构建MIPS交叉编译环境
移植Linux需要专门的交叉编译环境,选择Linux环境构建基于MIPS架构平台的交叉编译工具链,如果采用Windows的环境也可基于Cygwin来构建类似的交叉编译工具链,下面的操作需要拥有ROOT权限。
首先下载binutils,现在可以得到的较新版本是2.2.2,命令如下:
./configure -prefix=/usr/local/project/mipsel-dev-target=mipsel
make
make install
由于这里采用的Linux开发环境是ubuntul2.04操作系统,它的安全管理会把警告也强制转化为错误处理,这就可能造成编译错误。因此,还需要为configure添加“-disable-werror”选项,或者待配置完后修改Makfile中的对应选项。
第二步是为include目录建立链接。
有自己的小型库用于编译,并不需要完整的UNIX交叉编译器环境,但是因为GCC在编译时需要关联相应的头文件,所以这里还需要建立一个链接,将目标平台相关的include和宿主PC机的include目录链接起来。
mkdir-P/usr/local/project/mipsel-dev/mipsel/usr
In-S/usr/include/usr/local/project/mipsel-dev/mipsel/usr/in-clude
第三步是安装GNU C Compiler编译器,设计中采用的GCC是最新版本的4.7.2,下载解压后进行编译安装。由于ubuntul2.04的环境,安装4.6版本以上的GCC需要GMP、MPFR、MPC这三个库,所以还需要从网上下载三个库的压缩包。需要注意的是,由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库在本设计实际使用的版本分别是gmp5.0.1、mpfr2.4.2和mpc 0.8.1。限于篇幅仅对安装gcc-4.7.2作简要叙述。
b.JPG
当以上步骤都完成,就在宿主机上构建了基于littleendian的MIPS架构的gcc cross—compiler。可以看到/usr/local/project/ mipsel —dev/bin/mipsel—gcc,表明安装成功。
2.3.2 构建Xinu镜像
下载并解压相应的压缩包,可以看到类似这样的目录结构:device、lib、loader、system、compile、include、mailbox、shell、test。
和交叉编译相关的主要是compile下的相关文件,由于采用的嵌入式Xinu是最新版本的xinu_mips-2.01,它支持三种不同平台wrt54gl、wrt160nl和虚拟器版本的mipsel—qemu。因此根据我们的硬件平台,进入xinu mips2.01/compile/platforms/wrt54gl目录,对其中的文件platformVars作对应修改,去除CFLAGS的-Werror选项,目的依然是防止把警告当成错误。另外最重要的一个设置是MIPS_ROOT变量,它指出了交叉编译工具所在的目录,如MIPS_ROOT=/usr/local/project/mipsel-dev/bin,这需要根据前面的交叉编译工具的路径相应调整。然后在compile/目录下运行make clean和make这两个命令,就可以获得相应的镜像文件xinu.boot。
2.3.3 部署Xinu镜像
部署并运行编译好的Xinu镜像的第一步是在PC机上运行TFTP服务器,它可以将镜像文件通过网络连接传输到上。Linux上安装TFTP服务器相当简单,只要下载tftp—server软件包后安装即可,这里不再详述。
安装完TFTP服务后,还需简单的设置以使服务运行起来,xinetd是一个服务器守护程序,可以运行许多不同类型的服务器上。当tftp服务正常运行,且xinu.boot文件也正确复制后,就可以进行最后的引导工作了。由于默认的IP地址是192.168.1.1,所以还需要把PC机的IP也设在相同的网段,如192.168.1.2。
这时已经在物理上通过串口将作为后端的和作为宿主机的PC机连接起来了,通过相应的串口通信程序就可实现两者的数据交互。如果一切正常,将可以看到路由器的命令提示符CFE>。
命令格式为boot—elf[host ip]:xinu.boot,其中[hostip]就是链接了作为后端的路由器的PC机,如CFE>boot—elf 192.168. 1.2:xi nu.boot。
这样就可以在路由器上将Xinu引导起来,顺利的话将看到xsh$提示符。Xinu提供了一些最基本的命令,可以用help来查看。
至此已经完成了基本的嵌入式Xinu部署的整个流程,进一步的工作就是修改Xinu的源代码,重新生成镜像文件,用boot—elf[host ip]:xinu.boot命令重新引导运行新的系统。

结语
本文详细阐述了将WRT54GL路由器改造为适合于学习开源与Xinu操作系统的平台的过程。整个改造过程简单、易行,可以贯穿整个的学习过程。

本文引用地址:http://www.eepw.com.cn/article/148055.htm

路由器相关文章:路由器工作原理


路由器相关文章:路由器工作原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭