标题:
搭建RTEMS的交叉工具链-针对arm,powerpc,i386
[打印本页]
作者:
yuyang911220
时间:
2015-2-27 13:09
标题:
搭建RTEMS的交叉工具链-针对arm,powerpc,i386
最近在调研实时操作系统的SMP扩展时,偶尔瞅了瞅RTEMS实时操作系统,深深的被它的性能和与众不同的结构所吸引,于是下决心把RTEMS的内核研读一下。在读它的内核代码之前,按照我的习惯首先搭建RTEMS的交叉编译器O(∩_∩)O~。
备注:
关于RTMES系统参考:
http://www.rtems.org/
http://www.rtems.net/index.htm
我在fedora14中成功搭建了基于powerpc、arm以及i386平台的交叉编译器,为方便描述我以powerpc平台对象。
第一部分
实验环境配置
主机环境:Linux-2.6.35.6-45.fc14.i686
目标平台:powerpc
1.1
搭建编译器所需要的软件包
Gcc软件包:gcc-4.3.2.tar.bz2
下载网址:
http://ftp.gnu.org/gnu/gcc/gcc-4.3.2
ftp://ftp.rtems.com/pub/rtems/SOURCES
gcc软件包补丁:gcc-4.3.2-20080910.diff
下载网址:
ftp://ftp.rtems.com/pub/rtems/SOURCES/4.10/
Binutils软件包:binutils-2.20.tar.bz2
下载网址:
http://ftp.gnu.org/gnu/binutils/
ftp://ftp.rtems.com/pub/rtems/SOURCES/4.10/
Newlib软件包:newlib-1.17.0.tar.gz
Newlib软件包补丁:newlib-1.17.0-rtems4.10-20091009.diff
下载网址:
ftp://ftp.rtems.com/pub/rtems/SOURCES/4.10/
1.2 RTEMS
软件包
rtems源码:rtems-4.10.2.tar.bz2
下载目录:
ftp://ftp.rtems.com/pub/rtems/4.10.2/
1.3
开发平台目录树
在我的主机上建立的目录树:
/whatever/prefix/you/choose/
archive/ //存放源码包目录
gcc-4.3.2.tar.bz2
gcc-4.3.2-20080910.diff
binutils-2.20.tar.bz2
newlib-1.17.0.tar.gz
newlib-1.17.0-rtems4.10-20091009.diff
rtems-4.10.2.tar.bz2
build/ //存放解压包和编译包目录
tools/ //存放编译的交叉包目录
1.3
创建环境变量
在build目录下创建一个set-rtems.sh的脚本文件,内容如下:
#! /bin/sh
export PRJECT=rtems
exportPRJROOT=/home/tom/${PRJECT}
export TARGET=powerpc-rtems4.10
exportPREFIX=${PRJROOT}/tools/rtems-4.10
exportTARGET_PREFIX=${PREFIX}/${TARGET}
exportPATH=${PREFIX}/bin
{PATH}
pwd
cd $PRJROOT
执行命令:
$cd build
$sudo chmod +x ./set-rtems.sh
备注:
给set-rtems.sh加上可执行权限需要用到root权限。
$source ./set-rtems.sh
备注:
该命令使得set-rtems.sh中的环境变量在当前shell中可见,也可以使用
$. ./set-rtems.sh
注意:
两个点之间至少要有一个空格
备注三:
如果编译基于arm平台的编译器,需要将:
export TARGET=powerpc-rtems4.10
更改为:
export TARGET=arm-rtems4.10
同时把newlib更新至:newlib-1.18.0.tar.gz
同时应用补丁:newlib-1.18.0-rtems4.11-20101126.diff
补丁下载网址:
ftp://ftp.rtems.com/pub/rtems/SOURCES/4.10/
需要注意在下载网址中的补丁是逐个累积的,我们只需要应用最新的补丁即可。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0