================================================================================= NaviEngine用GNU ツール構築方法 Copyright (C) 2009 T-Engine Forum. All Rights Reserved. ------------------------------------------------------------------------- Version : 1.00.00 Released by T-Engine Forum (http://www.t-engine.org) on 2009/02/25. ================================================================================= 1. はじめに 2. 注意事項 3. GNU ツールの構築方法 ----------------------------------------------------------------------------------------------------------------------- 1. はじめに ----------------------------------------------------------------------------------------------------------------------- 本資料は、NaviEngine用 T-Kernel のコンパイルに利用するGNU ツールをソースコードから構築する手順を説明します。 -------------------------------------------------------------------------------------------------------- 注意: 以下では、GNU ツールをソースコードから構築する方法を説明しています。 Web ページに公開されている構築済みのアーカイブを使用する場合には、以下の作業は必要ありません。 -------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- 2. 注意事項 ----------------------------------------------------------------------------------------------------------------------- 本GNU ツールは、NaviEngine で実行可能な T-Kernel の生成に利用されることのみを想定しています。これ以外の用途での利用は想定していません。 T-Engine フォーラムは、本ツールに対するサポートは行なっておりません。 ----------------------------------------------------------------------------------------------------------------------- 3. GNU ツールの構築方法 ----------------------------------------------------------------------------------------------------------------------- GNU ツールをソースコードから構築する方法を説明します。 シェルやディレクトリは任意に設定が可能です。本資料では以下の構成の説明をします。 ・シェル: bash ・ビルドディレクトリ: /home/tkernel/tool/arm11mpcore ・インストールディレクトリ: /usr/local/te/arm11mpcore 3.1 Cygwin(TM)のインストール 本GNU ツールはWindows(R)上のUNIX エミュレータであるCygwin(TM)上で実行します。Cygwin のWeb ページ(http://www.cygwin.com/)を参照してCygwin をインストールしてください。インストールするパッケージはデフォルトで選択されているものに加えて以下に示すパッケージが必要です。 ・Devel カテゴリ の gcc , make ・Interpreters カテゴリの perl ・Libs カテゴリの libgmp-devel , libmpfr-devel ・Utils カテゴリの file , patch インストール後、Cygwin を起動してシンボリックリンクを作成します。 $ ln -s make /usr/bin/gmake $ ln -s /usr/bin/perl /usr/local/bin/perl 3.2 GNU ツールのダウンロード GNU ツールをコンパイルする為にはbinutils、gcc、newlibパッケージが必要になります。2009年2月現在、各パッケージは以下に記載するサイトから入手可能です。 ・http://ftp.gnu.org/gnu/binutils/ ・http://gcc.gnu.org/ ・http://www.sourceware.org/newlib/ 以下のファイルを/home/tkernel/tool/arm11mpcoreにダウンロードしてください。 ・binutils-2.19.tar.gz ・gcc-core-4.3.2.tar.gz ・newlib-1.17.0.tar.gz NaviEngine用のパッチを/home/tkernel/tool/arm11mpcoreに置いてください。 ダウンロードしたファイルを展開します。Cygwinを起動して以下のコマンドを入力してください。なお、以降の作業は全てCygwin上で行います。 $ cd /home/tkernel/tool/arm11mpcore $ tar zxf binutils-2.19.tar.gz $ tar zxf gcc-core-4.3.2.tar.gz $ tar zxf newlib-1.17.0.tar.gz gccにパッチを当てます。 $ patch -d gcc-4.3.2 -Np1 < gcc-4.3.2-arm11mpcore-patch 3.3 環境変数の設定 環境変数を設定します。以下のコマンドを入力してください。 $ export GNUs=/usr $ export GNU_BD=/usr/local/te/arm11mpcore $ export GNUarm=$GNU_BD/arm-elf $ export GCC_EXEC_PREFIX=$GNU_BD/lib/gcc/ $ export PATH=$GNU_BD/bin:$PATH Cygwinを再起動した場合、環境変数を再度設定する必要があります。上記コマンドを.bashrcに記述することで、 Cygwinを起動した際のコマンド入力を省略することが出来ます。 3.4 binutils binutilsをビルドするためのディレクトリを作成します。 $ cd /home/tkernel/tool/arm11mpcore $ mkdir build_binutils binutilsのコンフィグレーションをします。 $ cd build_binutils $ ../binutils-2.19/configure --target=arm-elf --prefix=$GNU_BD binutilsのビルドとインストールを行います。 $ make $ make install 3.5 gcc gccをビルドするためのディレクトリを作成します。 $ cd /home/tkernel/tool/arm11mpcore $ mkdir build_gcc gccのコンフィグレーションをします。 $ cd build_gcc $ ../gcc-4.3.2/configure --target=arm-elf --prefix=$GNU_BD --with-gnu-as --with-gnu-ld --enable-languages=c --disable-libssp --with-newlib --enable-interwork --enable-multilib --with-headers=/home/tkernel/tool/arm11mpcore/newlib-1.17.0/newlib/libc/include --with-arch=armv6k --with-float=soft gccのビルドとインストールを行います。 $ make $ make install これで全ての作業が完了しました。 以上