自作電子小物/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日