前几天写了一篇环境搭建,但是感觉有点笼统,主要是从整体上讲了如何做该怎么做,这里就把我搭建环境的过程详细的说一下
1、 安装好Fedora之后,首先检查系统是否安装gcc,make,makeinfo
gcc –version
make –version
makeinfo –version
如若没有,系统会提示安装,输入y即可
2、 配置Linux 下C语言开发环境
fedora默认并没有安装gcc,需配置C语言开发环境。
由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要9个包来完成安装,因此我们只需要执行9条指令即可:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders(注意,需要安装与linux内核相匹配的版本)
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install vim
注:
1)以上命令的成功执行需要联入网络。
2)以上命令会自动下载最新版本。
3)尽管有些linux版本中会包含其中的几个包,但最好,把它们都执行一遍,免得有所遗漏。
3、 安装rtems4.11的yum仓库,
下载key gpg-pubkey-69ce4a83-44cc2b30网址:ftp://ftp.rtems.com/pub/rtems/linux/,保存为txt即可,并导入安装仓库需要安装2个包,此处在这里下载
ftp://ftp.rtems.com/pub/rtems/linux/4.11/fedora/21/x86_64/
两个包:
rtems-4.11-release-0.20140713.0-1.fc21.noarch.rpm
rtems-4.11-yum-conf-0.20140713.0-1.fc21.noarch.rpm
使用rpm –ivh xxx.rpm依次安装,然后在/etc/yum.repos.d/rtems-4.11.repo 中enable=1的地方(最上面两个url)
把源的基地址改为ftp://ftp.rtems.com/pub/rtems/linux/4.11/fedora/21/x86_64/即可
4、 用sourcebuilder安装交叉编译工具
配置Fedora环境:
# yum install ncurses-devel python-develgit bison gcc cvs gcc-c++ flex texinfo patch perl-Text-ParseWords zlib-devel
依次执行以下指令
$ cd
$ mkdir -p development/rtems/src
$ cd development/rtems/src
$ git clonegit://git.rtems.org/rtems-source-builder.git
$ cd rtems-source-builder
$ source-builder/sb-check
$ cd rtems
$ ../source-builder/sb-set-builder--list-bsets
$ ../source-builder/sb-set-builder--log=l-arm.txt --prefix=$HOME/development/rtems/4.11 --bset-tar-file--pkg-tar-files 4.11/rtems-arm
此过程执行完且没有发生错误,RTEMS的交叉编译工具就会安装在
$HOME/development/rtems/4.11文件夹下,在
development/rtems/src/ rtems-source-builder/rtems下会生成tar文件夹,里面是编译工具的打包文件
此过程大概需要一个小时左右,参考在
https://ftp.rtems.org/pub/rtems/people/chrisj/source-builder/source-builder.html
5、 下载源码
选一个自己想要放源码的文件夹
在terminal执行#git clone git://git.rtems.org/rtems.git即可获取源代码
6、 编译源码
进入源码目录
# export PATH=$HOME/development/rtems/4.11/bin:$PATH//红色为工具链的bin目录,
#./bootstrap – c //clean
#./bootstrap – p //pre-install
#./bootstrap //生成configure文件
然后新建编译文件夹,建在源代码文件夹里面和外面均可,但是configure的时候要注意路径
此处直接建在里面
#mkdir smdk2410build //创建build-point—>smdk2410build
#cd smdk2410build //进入build-point
#../configure --target=arm-rtems4.11--enable-posix --disable-itron --disable-cxx --disable-networking--enable-rtemsbsp=smdk2410 --prefix= install-point
#make
#make install
若无错误出现且之后在$HOME/development/rtems/4.11/bin文件夹下会多出
arm-rtems4.11/smdk2410文件夹,则编译成功,要生成exe或bin文件,请看下一步
7编译examples,生成bin文件
#git clone git://git.rtems.org/examples-v2.gitexamples-v2
#cd examples-v2
#export RTEMS_MAKEFILE_PATH=$HOME/development/rtems/4.11/bin/arm-rtems4.11/smdk2410
#make
编译结束后,应该看到下面有许多文件夹,每个文件夹都有一个o-optimize的文集夹,里面有相应的exe文件,进入xxx.exe所在文件夹,通过下面指令转换成bin文件
#arm-rtems4.11-objcopy -O binary -S xxx.exexxx.bin