■ 環境構築の方法

自前で環境構築するかたのために,手順を簡単に説明します.

まず以下の説明を一読してください.

http://kozos.jp/books/asm/

上記サイトから「cross-20120226.zip」をダウンロード・展開し,説明の手順に従って binutils-2.21.1, gcc-3.4.6, gdb-7.3.1 をインストールします.

手順通りだと34種類のアーキテクチャのクロスコンパイラを作成しようとしますが,今回は以下のアーキテクチャだけで十分です(Thumb命令もこれで対応できます).

スクリプト中のarm-elf以外のアーキテクチャを外してスクリプト実行することで,ARMの環境のみ構築できます.

全アーキテクチャをビルドしようとすると,遅いPCだと下手すると丸1週間とかかかるので注意が必要です.とくに以下は時間がかかるので注意してください.

なんにせよ環境構築には時間がかかるので,当日に現地で環境構築することは時間的に難しいと思います(ネイティブでやってもビルドに数十分はかかります).前もってやっておいたほうがいいです.以下,作業手順です.

  1. cross-20120226.zip を展開.
  2. cross/gnu に binutils-2.21.1, gcc-3.4.6, gdb-7.3.1 を展開.(バージョンが異なると出力などが異なってくるため,バージョンはそろえてください)
  3. cross/patch のパッチを当てる.
  4. 以下のファイル(3×2で6個)を編集し,arm-elfだけビルドされるようにする.
    cross/build/{binutils,gcc,gdb}/{build.sh,install.sh}
  5. 以下の手順でスクリプトを実行
      % cd cross/build/binutils
      % ./build.sh (一般ユーザ)
      % su
      # ./install.sh (スーパーユーザ)
    
  6. 同様に cross/build/gcc, cross/build/gdb でスクリプト実行する.
  7. 以下を行ってビルドできることを確認.
      % cd cross/sample
      % make clean ; make arm-elf.d
    
  8. 以下を行って Hello World が出力されることを確認.
      % cd cross/exec
      % make clean ; make arm-elf.d ; make arm-elf.sot
    

ここまでできれば,クロスコンパイラ・デバッガは正常にインストールされています.gdbのソースは勉強会中に参照するので,そのまま残しておいてください.

環境削除したい場合は,上記 cross のディレクトリと,インストール先の /usr/local/cross を全消ししてください.(他のものを消さないように注意してください)