RTEMS開發環境搭建——基於FreeBSD系統c++
2015年12月08日 星期二shell
本文是記錄安裝RTEMS-4.10.2開發環境的文章,且僅僅是記錄,並未對其過程作過多原理方面的研究。 bash
一、本文采用的FreeBSD 9.3版系統,系統自帶的gcc-4.2.1編譯器,並將由它完成環境搭建中各個程序的編譯工做;測試
二、本文采用RTEMS-4.10.2版源碼;網站
三、下面介紹開發環境的安裝過程:ui
(1)安裝bash開發
FreeBSD默認採用的是/bin/csh和/bin/sh兩種shell,但在我測試的過程當中,發現這兩種shell都不能成功編譯RTEMS源代碼;而在使用bash時卻能成功。get
所以,須要首先安裝bash,能夠採用port方式安裝:編譯器
cd /usr/port/shell/bash源碼
make install
再利用chsh命令,將用戶的默認shell修改成bash,此處能夠參考FreeBSD相關手冊;
(2)安裝GNU make
因爲FreeBSD 9.3默認使用的Berkeley make,而咱們後續要編譯的各個程序都是採用的GNU make管理的,所以咱們須要安裝GNU make;
從ftp://ftp.gnu.org網站下載make-3.82.tar.bz2源碼並安裝,操做以下:
tar -xjf make-3.82.tar.bz2
mkdir build_make
cd build_make
../make-3.82/configure
make
make install
安裝完成後,系統中就同時存在make和gmake了,後面默認狀況下均採用gmake管理。
(3)安裝texinfo
從ftp://ftp.gnu.org網站下載texinfo-4.9.tar.gz源碼並安裝,操做以下:
tar -xzf texinfo-4.9.tar.gz
mkdir build_texinfo
cd build_texinfo
../texinfo-4.9/configure
gmake
gmake install
(4)安裝gmp, mpfr, mpc庫
從ftp://ftp.gnu.org網站下載gmp-5.0.4.tar.bz2 , mpfr-2.4.2.tar.bz2 , mpc-1.0.3.tar.gz源碼,按如下順序安裝:
a.安裝gmp-5.0.4:
tar -xjf gmp-5.0.4.tar.bz2
mkdir build_gmp
cd build_gmp
../gmp-5.0.4/configure --prefix=/usr/local/gmp(prefix用於指定安裝目錄)
gmake
gmake install
b.安裝mpfr-2.4.2:
tar -xjf mpfr-2.4.2.tar.bz2
mkdir build_mpfr
cd build_mpfr
../mpfr-2.4.2/configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp(引用gmp)
gmake
gmake install
c.安裝mpc-1.0.3:
tar -xzf mpc-1.0.3.tar.gz
mkdir build_mpc
cd build_mpc
../mpc-1.0.3/configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr(引用gmp,mpfr)
gmake
gmake install
d.添加環境變量
在 /etc/profile 末尾添加以下內容:
export LD_LIBRARY_PATH=/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib: $LD_LIBRARY_PATH
source /etc/profile (更新環境變量)
(5)安裝binutils, gcc
從ftp://ftp.rtems.com/pub/rtems/SOURCES/4.10/ 官網下載以下源碼:
binutils-2.20.1.tar.bz2
binutils-2.20.1-rtems4.10-20140214.diff
newlib-1.18.0.tar.gz
newlib-1.18.0-rtems4.10-20130320.diff
gcc-4.4.7.tar.bz2
gcc-4.4.7-rtems4.10-20130320.diff
a.安裝binutils:
tar -xjf binutils-2.20.1.tar.bz2
cd binutils-2.20.1
cat ../binutils-2.20.1-rtems4.10-20140214.diff | patch -p1
cd ..
mkdir build_binutils
cd build_binutils
../binutils-2.20.1/configure --target=arm-rtems4.10 --prefix=/opt/rtems-4.10 --disable-werror
gmake
gmake install (須要root權限)
在~/.profile末尾插入一行:
export PATH=/opt/rtems-4.10/bin:${PATH}
再執行命令:
source ~/.profile (更新環境變量)
b.安裝gcc:
tar -xjf gcc-4.4.7.tar.bz2
cd gcc-4.4.7
cat ../gcc-4.4.7-rtems4.10-20130320.diff | patch -p1
cd ..
tar -xzf newlib-1.18.0.tar.gz
cd newlib-1.18.0
cat ../newlib-1.18.0-rtems4.10-20130302.diff | patch -p1
cd ../gcc-4.4.7
ln -s ../newlib-1.18.0/newlib . (建立軟連接)
cd ..
mkdir build_gcc
cd build_gcc
../gcc-4.4.7/configure --target=arm-rtems4.10 --with-gnu-as --with-gnu-ld --with-newlib --verbose --enable-threads --enable-languages="c,c++" --prefix=/opt/rtems-4.10 --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr
gmke all
gmake info
gmake install(須要root權限)
以上所有編譯並安裝成功後,編譯環境的安裝過程即結束。
四、驗證環境是否正確安裝
(1)從RTEMS官網ftp://ftp.rtems.com/pub/rtems/4.10.2/下載rtems-4.10.2的源碼;
(2)編譯源碼;
tar -xjf rtems-4.10.2.tar.bz2
mkdir build_rtems
cd build_rtems
../rtems-4.10.2/configure --target=arm-rtems4.10 --enable-posix --enable-networking --enable-cxx --enable-rtemsbsp=smdk2410 --prefix=/opt/rtems-4.10/
gmake all
su root(切換至root賬戶)
gmake install (root權限)
若是沒有出現錯誤,則表示成功。
至此,結束!