ソースコード

gitリポジトリ




開発環境


  • Mac OS X 10.8 Mountain Lion
  • Eclipse Indigo
  • binutils 2.21
  • Linaro GCC 4.6-2011.10
  • Linaro GDB 7.3-2011.10
  • newlib 1.19
  • openocd 0.6.1


Ubuntuでビルドする方法


下準備


summon-arm-toolchainを実行する上で必要になるライブラリやツール群をapt-getでインストールしておきます。

$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf texinfo build-essential libftdi-dev


summon-arm-toolchainを実行してbinutilsやgccをインストールする


summon-arm-toolchainのクローンをダウンロードし実行します。結構時間がかかります。

$ cd summon-arm-toolchain
$ ./summon-arm-toolchain


無事完了すると~/satに以下のようなディレクトリが出来ています。
arm-none-eabi bin include lib libexec share


わかりやすい場所にシンボリックリンクを貼っておきます。

$ sudo ln -s /home/user/sat /usr/local/arm


実行パスを.profileに設定しておきます。

$ touch ~/.profile
$ echo 'PATH=$PATH:/usr/local/arm/bin' >> ~/.profile
$ echo 'export PATH' >> ~/.profile
$ source ~/.profile


newlibをコンパイルしてlibc.aを生成する


上のままだとlibc.aに_sbrkがない等のエラーがでるのでnewlibのlibc.aをarm-none-eabi向けにコンパイルします。

summon-arm-toolchainのsourcesに入りnewlib-2.0.0.tar.gzを解凍します。

$ cd summon-arm-toolchain/sources
$ tar zvxf newlib-2.0.0.tar.gz
$ cd newlib-2.0.0


arm-none-eabi向けにコンフィギュアしてmakeします。

$ ./configure --target=arm-none-eabi
$ make


しばらくするとエラーがでて止まりますがarm-none-eabiディレクトリが出来るので移動します。

$ cd arm-none-eabi

さらにthumb/cortex-m4/newlibと進んでいきます。

$ cd thumb/cortex-m4/newlib

Makefileがあるのでここでmakeします。

$ make

しばらくまっているとlibc.aが生成されています。
これを/usr/local/arm/arm-none-eabi/lib/thumb/cortex-m4にコピーしてライブラリを置き換えます。

$ cp ./libc.a /usr/local/arm/arm-none-eabi/lib/thumb/cortex-m4/

motion-player-projectのソースをダウンロード


$ cd motion-player-project


Makefileを編集する


Makefileの中間くらいにある# Define directories, if needed.のコメントの下で定義されているDIRLIBを書き換えます。
(書き換える部分は赤いところ。)

DIRLIB = ./lib/STM32F4xx_StdPeriph_Driver ./lib/CMSIS/ST/STM32F4xx ./lib/CMSIS/DSP_Lib/Source /usr/local/arm/arm-none-eabi/lib/thumb/cortex-m4 /usr/local/arm/lib/gcc/arm-none-eabi/4.7.3/thumb/cortex-m4 ./aac ./mp3


MotionPlayerをビルド


distcleanでペリフェラルライブラリ、 DSPライブラリ等を一度まっさらの状態にしてコンパイルします。
この作業はコンパイラやライブラリを入れ替えたときなどに行い毎回やる必要はありません。

$ make distclean


そしてmakeしてMotionPlayerをビルドします。

$ make

しばらくまっているとstm32f4_motion_player.elfやstm32f4_motion_player.hexが出来ます。
これらのバイナリをSTLinkやopenocdを使って書き込めば実機で動作確認できます。

  • 最終更新:2013-05-30 13:45:23

このWIKIを編集するにはパスワード入力が必要です

認証パスワード