====== 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