2007年01月23日
クロスコンパイラのビルド
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: ; (この行を加える) }
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
Decomo | 23:32