目次

Teaboard:クロスコンパイラのビルド

Teaboardの開発環境はgccで、CygwinとLinux用のクロスコンパイラが添付されている。これらgccは、当然Mac OS Xでは使用できない。幸い、開発環境再構築用のパッケージ一式が提供されているので、それを使ってOS X用のgccを構築する。

準備

以下のディレクトリ構成で作業を行う。各自の環境にあわせて、適宜読み替えて欲しい。尚、うちの環境では~/にusrディレクトリを作り、/optは~/usrへのシンボリックリンクとなっている。

/opt
 /local
  /te
   te.tlsrc.arm.05.tar.gz 
   te.tlsrc.common.04.tar.gz
   te.resource.tbmx1.01.tar.gz
   /tool
    /build
    /gnu
     /distribution
      binutils-2.13.tar.bz2 
      gcc-3.2.2.tar.bz2 
      gdb-5.2.tar.gz 

開発環境再構築用パッケージの展開

cd /opt/local/te/
tar zxvf te.tlsrc.arm.05.tar.gz 
tar zxvf te.tlsrc.common.04.tar.gz
tar zxvf te.resource.tbmx1.01.tar.gz 

binutilsの構築

cd tool/build/gnu/binutils-2.13-tkernel/
cp ../etc/makerules ../etc/makerules.unknown
make BD=/opt/local/te TARGET=arm-unknown-tkernel extract patch-tkernel
make BD=/opt/local/te TARGET=arm-unknown-tkernel clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel install

gccの構築

cd /opt/local/te/
sudo cp -R include tool/unknown/arm-unknown-tkernel/sys-include
cd tool/build/gnu/gcc-3.2.2-tkernel/
make BD=/opt/local/te TARGET=arm-unknown-tkernel extract patch-tkernel
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel install
sudo rm -R /opt/local/te/tool/unknown/arm-unknown-tkernel/sys-include

gdbの構築

make中に「gdb-5.2-tmonitor/gdb-5.2/gdb/arm-tdep.c:2692: error: label at end of compound statement」というエラーが出るので、当該箇所を予め修正しておく。

    case ELFOSABI_ARM:
      /* Assume GNU tools with the old APCS abi.  */
      return ARM_ABI_APCS;
 
    default:
	break; // ◆◆この行を加える◆◆
    }
cd ../gdb-5.2-tmonitor/
make BD=/opt/local/te TARGET=arum-unknown-tmonitor extract patch-tmonitor
make BD=/opt/local/te TARGET=arm-unknown-tmonitor clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tmonitor install

makerulesの編集

/opt/local/te/bappl/makerulesと/opt/local/te/kappl/makerulesの「開発環境のベースディレクトリ」を編集する。

ifndef BD
  # 開発環境のベースディレクトリ
  BD := /opt/local/te
endif