2012年2月12日日曜日

embedded開発始めました



なんか本業そっちのけな見出しです。まぁ良かろう。

という訳で、マイコンボード上に勉強がてら一から積み上げた簡単なシステムを構築してやろうというところをゴールにすえます。現状、一般的に買い易い物はarm系という事でPandaやらBeagleやらがお買い得だしAndroidとかもモリモリ動いちゃうのですが、学習用という意味でもう少しシンプルな物という事で最初のターゲットをCortex-M4に定めてSTM32F4-Discoveryをお買い上げ。

まぁ、本業関連でM4自体はちょっとDSP的な処理も出来るマイコンというイメージだけど実際のところどのくらい性能出るんよ?ってのを検証したいというのが本当の目的だったりします。Cortex-A8/A9までは必要無いけどお安く程々に色々出来そうという期待も込めて。NetDuinoみたいにArduino互換でお手軽に使える様になるとHappyですね。

まずは開発環境を整えないといけないのでメインマシンのMacBookAir上にクロスコンパイル環境を構築してボード上で何かプログラムを実行出来るというところまで持って行くのを最初の目標にします。

まず、目標のイメージですけど

<図 後で埋める>

こんな感じかな?



  1. 開発環境(binutil/gcc/gdb)を用意する

  2. JTAG用にopenocdを用意する(今後の為に)

  3. 開発が楽な様にEclipseベースの環境を揃える

  4. 簡単なプログラムを作ってターゲット上で動かす

  5. 既存のOSをポーティングする




というわけでステップ1

コンパイラを用意しましょう。バイナリで配られている物もある様ですがとりあえず全部自分でビルドしていきます。自前ビルド自体に特に意味がある訳ではないですが。

用意したのは下記のバージョンのもの。

ビルド用(newlibはredhat、mpcはmpcのページ。その他はGNUのFTPから)



  • binutils-2.22

  • gcc-core-4.6.2

  • gcc-g++-4.6.2

  • gmp-5.0.4

  • mpfr-3.1.0

  • mpc-0.9

  • newlib-1.20.0




デバッグ用



  • gdb-7.4

  • openocd-0.5.0




ビルドの手順ですが最初下記のリンクを参照してGCC4.2.4のビルドをしたのですがヨクヨク調べてみたらM4で使うにゃ4.6以降じゃないとまずそうなのでしきり直します。基本的な流れ及びbinutil/newlib/gdbのビルドはコレに準拠でいきましょう。

http://www.ethernut.de/en/documents/cross-toolchain-osx.html

とりあえず今日は負けという事でorz

そういえばM4のドキュメントも入手せねば。DSPまわりとか良くわからないし。STMあたりにあるのかなぁ?




0 件のコメント:

コメントを投稿