v850用クロス開発環境の構築

メモがてらに.

開発環境

さくら VPSサーバで行いました

各ソフトウェアのバージョン

  • binutils-2.21
  • gcc-4.6.1
  • newlib-1.19.0
  • gdb-7.2
  • gmp-5.0.2
  • mpfr-3.0.1
  • mpc-0.9
  • ppl-0.11.2
  • cloog-ppl-0.15.11.tar.gz

事前準備

ロスコンパイラのために必要となるライブラリを前もってインストールします。
インストールはすべて '/usr/local'に行うものとします。pacoを使うかは任意です。
使わなかったら 'paco -D'という部分を抜いてください。


MIPSのクロス開発環境構築と同じです。
バージョン変わっているのもあるので、また一から書きます。


各ライブラリの詳細については Prerequisites for GCC - GNU Project - Free Software Foundation (FSF)を参照してください

gmp
  % tar xf gmp-5.0.2.tar.gz
  % cd gmp-5.0.2
  % ./configure --enable-cxx
  % make
  % make check
  % sudo paco -D make install
mpfr
  % tar xf mpfr-3.0.1.tar.gz
  % tar
  % ./configure --with-gmp=/usr/local
  % make
  % make check
  % sudo paco -D make install
mpc
  % ./configure --with-gmp=/usr/local --with-mpfr=/usr/local
  % make
  % make check
  % sudo paco -D make install
ppl
  % ./configure --with-gmp-prefix=/usr/local
  % make
  % make check
  % sudo paco -D make install
cloog-ppl

以前はパッチが必要でしたが、最新版では不要でした。

  % ./configure --with-gmp=/usr/local --with-ppl=/usr/local
  % make
  % make check
  % sudo paco -D make install


これで完了ですが、今回試した環境では /usr/local/libがライブラリの
パスに含まれていないようなので、明示的に追加します。これをしないと
libgccのビルドでこけました。

  % sudo vi -q /etc/ld.so.conf
  /usr/local/lib <= これを追加します。
  % sudo /sbin/ldconfig # 追加したパスを反映

これで準備は完了です。

binutilsの構築

  % tar xf binutils-2.21.tar.bz2
  % cd binutils-2.21
  % mkdir build_v850
  % cd build_v850
  % ../configure --target=v850-linux-elf --prefix=/home/syohei/local/v850 \
     --disable-nls
  % make
  % make install
  % export PATH=/home/syohei/local/v850/bin:$PATH

gccの構築

  % tar xf gcc-4.6.1.tar.bz2
  % tar xf newlib-1.19.0.tar.gz
  % cd gcc-4.6.1
  % ln -s ../newlib-1.19.0/newlib .
  % ln -s ../newlib-1.19.0/libgross .
  % mkdir build_v850
  % ../configure --target=v850-elf --enable-languages=c --with-gmp=/usr/local \
     --with-mpfr=/usr/local --with-mpc=/usr/local --with-ppl=/usr/local \
     --with-cloog=/usr/local --prefix=/home/syohei/local/v850 --disable-nls \
     --disable-multilib --disable-libssp --with-newlib \
     --with-headers=/home/syohei/src/gcc-4.6.0/newlib/libc/include
  % make
  % make install

newlibの構築

   % cd newlib-1.19.0
   % mkdir build_v850
   % cd build_v850
   % ../configure --target=v850-linux-elf --prefix=/home/syohei/local/v850 \
    --disable-nls
   % make
   % make install

gdbの構築

   % tar xf gdb-7.2.tar.bz2
   % cd gdb-7.2
   % mkdir build_v850
   % cd build_v850
   % make
   % make install

これで完了です。

#include <stdio.h>

int main (void)
{
        printf("hello world\n");
        return 0;
}

こんなプログラムを作成して、コンパイル・実行ができるかを
確認します。

  % v850-linux-elf-gcc hello.c
  % v850-linux-elf-run a.out
  hello world

hello worldがでればとりあえず OKでしょう。