自作電子小物/TIPS/STM32,OSX,Eclipse開発環境設定
自作電子小物/TIPS/STM32,OSX,Eclipse開発環境設定
STM32F4-Discoveryのサンプルプログラムを、Macintoshネイティブでビルドと書込みする為の手順です。サイズ制限なくプログラム開発が可能です。DIscovery本体以外、他のハードウエアや追加費用は一切必要ありません。必要なのはインターネット接続環境と多少の手間です。
■背景と構成
一般的に、半導体メーカから自社製の開発ツール(IDE)が無償提供されていますが、STMicroelectronics社からは純正IDEは提供されていない。何種類ものベンダを紹介しているが、どれも有償版でないと、サンプル程度のプログラムしかビルドできない。
・Altium,TASKING VX-Toolset
・Atollic, TrueSTUDIO
・IAR, EWARM
・Keil, MDK-ARM
これらが推奨メーカのようですが、 過去には若干制限が緩かった事もあるので、一応最新の状況を確認して下さい。
現時点では、
(1)仕方ないので有償版を買う
(2)苦労を惜しまず、無料のソフトウェアを組合わせて環境を作る
そんなに予算はないので選択肢は(2)しかありません。
ズバリSTM32F4専用のフリーのIDEは存在しない(たぶん)ので、機能を分けて考えます。
・コンパイル/リンク → GCC
・ビルド自動化 → makeコマンド
・書込み → Mac上で動く物が無いか?
・デバッグ → gdbコマンド
・ソースコード変更管理 → とりあえず手動(コピー・バックアップ)で対応可能
・全体を統轄するIDE → 都合良いソフトウエアあるのか?
まず、クロスコンパイラはARM用GCCがバイナリの形式で何種類か入手可能。
それもMac上で動くものがあるのがありがたい。
・devkitARM
・yagarto
・GCC ARM Embedded in Launchpad
どれも似たもの(出所は同じで、バイナリにしてくれただけ)なので、今後のメンテが期待できそうな”Launchpad”を選択。
最悪、GCCだけのコマンドラインベースでの開発でも良い。
慣れてしまえば、キーボード中心の操作も作業効率は悪くない。
デバイスへの書き込みは、STMからツールが提供されているし、他にも幾つかある。
・ST-LINK utility(STM純正ツール、GUI+CUI、Windows用のみ)
・st-util(無料で入手可能、CUI、多OS対応)
・Qstlink2(無料で入手可能、GUI、多OS対応)
インサーキットデバッグまでは求めていないので、取りあえず手軽に使えるQstlink2で良い。バイナリも入手可能。
GUIベースのIDEがあればなお良いので、利用できそうな物を探す。
フリーソフトウエアのIDEではEclipseが代表的。
これもMac上で動くバイナリが提供されている。これでWindowsと縁を切れる。
STM32F4-Discoveryでの使用例があるので使える事は間違いない。
だが、一発で楽々開発を始められるという感じではない。
使いにくいのならば、無理にIDEを使う必要もないが、メリットも沢山あるので、快適に使える環境にできるか試してみる。
つまり次の環境を構築する手間をかける事で、無料でサイズ制限のないソフトウエア開発が出来る。
・GCC ARM Embedded in Launchpad
・Eclipse C/C++ Embeded cross compiler
・Qstlink2
1. Flash Writer
ST-LINK2経由でバイナリーイメージを書き込むユーティリティ
Qstlink2を選択。
・code.google.comで公開
・Macで動くバイナリが公開されているので、ダウンロードするだけ
・コマンドラインツールではなく、取っ付き易いGUI
・Qt、Libusbランタイムが必要
・扱えるファイルは.binか.dfuのみ(.hexはない)
インストール手順は、コマンドラインでの操作が全くなく、マウスでポチポチするだけなので取っ付き易い。
まず、Qtとlibusbが前提なので先にダウンロード、インストールしておく。
QT4.8.4
http://qt-project.org/downloads
libusb0.1.4
オリジナルはwww.libusb.orgだが、コンパイルしないと導入できないので、ちょっと面倒。http://wiki.pinguino.cc/index.php/Mac_OS_Xで、コンパイル済みのバイナリがパッケージ形式で紹介されているので、自分のOSXのバージョンに合った物をインストール。libusb-1.0系では動かないので注意。
つぎに、Qstlink2のバイナリをダウンロードして「アプリケーション」フォルダに入れてしまう。
Qstlink2 for OSX download
http://code.google.com/p/qstlink2/
qstlink2.app.zip
※2013.10.20 どうやら終局状態のようだが、全部表示させるとリストに出てくるので、ダウンロードは可能
あとは、STM32F4-DiscoveryをUSBケーブルでMacにつないで、Qstlinkを起動すれば、すぐプログラムフラッシュの読み書きが出来る様になる。
2. コンパイラ
GCCのARMクロスコンパイラ
MacOSX用のビルド済みのバイナリを入手
https://launchpad.net/gcc-arm-embedded
gcc-arm-none-eabi-4_7-2012q4
OSX用、より新しいバージョンの方が良い。
解凍するだけ
インストール格納場所は自由だが、後で変更するのは面倒なので、やはり「アプリケーション」フォルダが適当だと思う。
3. IDE
Eclipse
ビルド済みのバイナリを入手。
Javaのランタイム環境が前提なので、JREをインストールしておく。
http://support.apple.com/ja_JP/downloads/#java
Eclipseサイトより必要なパッケージをダウンロード、インストールする。
eclipse download
http://www.eclipse.org/downloads/
Eclipse Juno (4.2) SR1 Packages for OSX(Cocoa)
Eclipse IDE for C/C++ Developers
eclipse install
4. サンプルプロジェクトの設定
STM32F4-Discoveryは既にサンプルプログラムが書込まれてており、動作している事を確認できる。4個4色のLEDがルーレットのように点滅するのと、DiscoveryのMicroUSBとPCを接続して加速度センサマウスになる事を見る事が出来る。
そのソースコードはSTMから提供されており、推奨開発ツール用のプロジェクトファイルも入っているので、これらのツールを使う人は、そのプロジェクトファイルを開くだけで、何の苦労もなくリビルドが可能になっている。
ここでは、Eclipseでのプロジェクトの設定の手順を示す。こんな事まで指定しなければならないのかと思う様な、面倒な手順が必要ではあるが、汎用の開発ツールなのだから仕方がない所。
詳しくは、以下の画面アルバムを参照の事。
関連リソース
下記スクリーンショット:STM32F4-Discovery+OSX+eclipse.zip
Eclipseプロジェクトファイルを含むサンプル:STM32F4-Discovery_FW+Eclipse_project.zip
上記に含まれるが、大事なので個別に記載。
c settingのエクスポートファイル:c_setting.xml
F4-Discovery用起動ソースコード:startup_stm32f407vg.S
F4-Discovery用リンカースクリプト:stm32f407vg.ld
STM32 OSX Eclipse IDE Setup
2013年4月12日