我的rtems交叉编译环境(红帽环境下)


RHEL下安装

需要建立的目录

/opt/rtems    交叉编译工具目标目录
~/rtems     RTEMS工作主目录
~/rtems/download   下载文件存放目录
~/rtems/binutils-build   binutils目标代码暂存目录
~/rtems/gcc-build   gcc目标代码暂存目录
~/rtems/rtems-build   rtems目标代码暂存目录
~/rtems/download   安装包目录

以下为文件列表:
ls ~/rtems/download
交叉编译环境文件:
binutils-2.18.tar.bz2
binutils-2.18-rtems4.9-20080211.diff
gcc-core-4.3.2.tar.bz2
gcc-core-4.3.2-rtems4.9-20081214.diff
gcc-g++-4.3.2.tar.bz2
gmp-4.3.1.tar.gz
mpfr-2.4.1.tar.gz
newlib-1.16.0.tar.gz
newlib-1.16.0-rtems4.9-20081203.diff
rtems编译文件:
autoconf-2.62.tar.bz2
automake-1.10.1.tar.bz2
rtems-4.9.0.tar.bz2
rtemsdocs-4.9.0.tar.bz2
ttyname-rtems4.9.0.diff
测试代码:
example-4.9.4.tar.bz2

解压以上文件:
cd ~/rtems
bz2文件使用命令:
例如:tar -xjvf ./download/binutils-2.18.tar.bz2
gz文件使用命令
例如:tar -xzvf ./download/newlib-1.16.0.tar.gz

源代码修补:
cd ~/rtems/binuyils-2.18
cat ../download/binutils-2.18/binutils-2.18-rtems4.9-20080211.diff | patch -p1
cd ~/rtems/gcc-4.3.2/
cat ../download/gcc-core-4.3.2-rtems4.9-20080828.diff | patch -p1
cd ~/rtems/newlib-1.16.0
cat ../download/newlib-1.16.0-rtems4.9-20081203.diff | patch -p1
cd ~/rtems/rtems-4.9.0
cat ../download/ttyname-rtems4.9.0.diff | patch -p1
cd ~/rtems/gcc-4.3.2/
ln -s ../newlib-1.16.0/newlib newlib
ln -s ../gmp-4.3.1 gmp
ln -s ../mpfr-2.4.1 mpfr

/***********i386环境安装*************/
编译安装binutils
cd ~/rtems/binutils-build
../binutils-2.18/configure --tar=i386-rtems /
--prefix=/opt/rtems
make
make info
make install

编译安装gcc
gedit /etc/bashrc
在其最后行末键入:export PATH=$PATH:/optrtems/bin
开机后自动有效;
cd ~/rtems/gcc-build
../gcc-4.3.3/configure --target=i386-rtems --quiet /
--with-gnu-ld --with-gnu-as --with-newlib --enable-threads=rtems /
--enable-language="c,c++" --prefix=/opt/rtems
make
make info
make install

编译rtems准备
cd ~/rtems/autoconf-2.62
./configure
make
make install

cd ~/rtems/automake-1.10.1
./configure
make
make install

修改ITRON文件
cd ~/rtems/rtems-4.9.0
cd cpukit/itron/include/itronsys
vim types.h
修改其中的:
typedef boolean BOOL;
为:
typedef int BOOL;

编译安装RTEMS
cd ~/rtems/rtems-4.9.0
./bootstrap

cd ~/rtems/rtems-build
../rtems-4.9.0/configure --target=i386-rtems --quiet /
--enable-posix --enable-networking --enable-cxx --enable-itron /
--enable-rtemsbsp="pc386 pc386dx pc486 pc586 pc686" /
--prefix=/opt/rtems
gmake all
make info
make install
环境变量设置
gedit /etc/bashrc
在行末添加:export RTEMS_MAKEFILE_PATH=/opt/rtems/i386-rtems/pc686

建立RTEMS测试平台
cd ~/rtems/example-4.9.4
cd hello_world_c
vim test.c
修改末尾的inclue <confdefs.h>为include <rtems/confdefs.h>
make

配置GRUB环境
cd /boot
mkdir test
cp ~/rtems/example-4.9.4/o-optimize/hello.exe /boot/test
gedit /boot/grub/grub.conf
原有语句为
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
 root (hd0,0)
 kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
 initrd /initrd-2.6.18-164.el5.img
现在在最下面增加:
title RTEMS Hello World on PC686
 root (hd0,0)
 kernel /test/hello.exe
保存后退出。
重启电脑后在等待界面任意键,会出现GRUB选择菜单,选择RTEMS Hello World on PC686选项,则GRUB自动加载Linux分区的/test目录下的hello.exe内核并执行。
/**************************************/

/*****************ARM环境安装*****************/
编译安装binutils
cd ~/rtems/binutils-build
rm * -rf
../binutils-2.18/configure --tar=arm-rtems /
--prefix=/opt/rtems
make
make info
make install

编译安装gcc

cd ~/rtems/gcc-build
rm * -rf
../gcc-4.3.3/configure --target=arm-rtems --quiet /
--with-gnu-ld --with-gnu-as --with-newlib --enable-threads=rtems /
--enable-language="c,c++" --prefix=/opt/rtems
make
make info
make install

编译rtems准备
cd ~/rtems/autoconf-2.62
./configure
make
make install

cd ~/rtems/automake-1.10.1
./configure
make
make install

 

编译安装RTEMS
cd ~/rtems/rtems-4.9.0
./bootstrap

cd ~/rtems/rtems-build
../rtems-4.9.0/configure --target=arm-rtems /
--enable-posix --enable-networking --enable-cxx --enable-itron /
--enable-rtemsbsp="XXXX" /
--prefix=/opt/rtems
gmake all
make info
make install
环境变量设置
gedit /etc/bashrc
在行末添加:export RTEMS_MAKEFILE_PATH=/opt/rtems/arm-rtems/XXXX

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值