System Workbench for STM32(SW4STM32)でmbedプロジェクトをコンパイルする方法のメモ。
今年5月にMac向けにも提供されるようになったSW4STM32を使ってmbedのプロジェクトをコンパイルする方法をメモしておきます。
STM32マイコンのMac OS X向け無償開発ツールを発表|STマイクロエレクトロニクスのプレスリリース http://prtimes.jp/main/html/rd/p/000000703.000001337.html
SW4STM32はAc6社のeclipseベースのIDEで、openSTM32.orgがサポートしています。 残念ながらこのopenSTM32.orgコミュニティは日本語には対応していません。
使用環境
- Windows 10 Pro 64bit(Version 1511)
Windows 10 Anniversary Updateを適用するとNucleoをmbedとして使用することができなくなります。
Nucleoボードがリムーバブルディスクとしてエクスプローラに認識されず、バイナリファイルをコピーしてプログラムを書き込むことができません。(2016年8月31日現在)
デバイスドライバの更新待ちです。
2016年9月5日追記 https://twitter.com/ssci/status/770166485490610176 Windows UpdateのKB3176936を適用することでNucleoボードをリームーバブルディスクとして認識させることができるようになっていたことを確認しました。
インストール
以下の3つをインストールします。
- Java Runtime Environment (JRE)
- gcc-arm-none-eabi
- SW4STM32
Java
「3億のデバイスで走る」で有名なJavaです。
http://www.java.com/ja/download/manual.jsp こちらからダウンロードすることができますので、インストールしておきます。

今回はjre-8u101-windows-x64.exeをダウンロードしてインストールしました。
gcc
https://launchpad.net/gcc-arm-embedded/ こちらからダウンロードすることができます。

2016年8月31日現在の最新版は6です。今回は事前に用意してあったgcc-arm-none-eabi-5_4-2016q2-20160622-win32.exeをインストールしました。
SW4STM32
http://www.openstm32.org/Downloading+the+System+Workbench+for+STM32+installer こちらからダウンロードすることができます。
Windows7と書いてありますが、Windows10でも特に問題なく使用することができています。 こちらは会員登録が必要ですので、会員登録をしてログインします。

今回は最新版のinstall_sw4stm32_win_64bits-v1.8.exeをインストールしました。
設定
簡単な話なのですが、躓いてしまったことなのでメモしておきます。
初回起動時にワークスペースを指定します。よくあるのはここでドキュメントフォルダ直下や C:\Users\User\workspace などだと思います。
このフォルダまでのパスが長すぎるとコンパイル時に実行するMakefileの1行あたりのコマンドが長すぎてエラーが出てしまいます。
arm-none-eabi-g++: error: C:/SW4STM32/NucleoF446RE_LANCER2015Clone/mbed/TARGET_NUCLEO_F446RETOOLCHAIN_GCC_ARM/stm32f4xx_ll_usb.o: No such file or directory
本来ならば TARGET_NUCLEO_F446RE/TOOLCHAIN_GCC_ARM となって間にスラッシュが入るべきところ、 TARGET_NUCLEO_F446RETOOLCHAIN_GCC_ARM と1文字抜けてしまっています。
その時々で抜ける文字は変わるようです。
存在するはずのファイルが参照できないエラーにぶつかったときにはパスをもう一度よく確認してみてください。もしかしたら長すぎるのかもしれません。
ですから、 C:\SW4STM32 などのようになるべくパスが短くなるようにします。

プロジェクトのエクスポート
mbedのオンラインコンパイラでプロジェクトをエクスポートします。

プロジェクトのインポート
FileメニューからImport...を選択します。
Existing Projects into Workspaceを選びます。
先ほどエクスポートしたzipファイルを選択し、Finishをクリックするとインポートできます。

あとはプロジェクトをビルドするだけです。
これでワークスペース内のプロジェクトフォルダの中にDebugフォルダができ、その中にプロジェクト名.binができますのでこれを書き込むことができれば成功です。

uVisionなどオフライン環境はほかにもたくさんありますが、無料で制限なしで使える環境はほとんどないようです。 Windowsだけではなく、UbuntuやOS Xでも使えるのでしばらくはSW4STM32でNucleo用にコンパイルしていこうと思います。
関連記事
- Git for Windowsのお勧めインストール手順Git for Windowsはインストール時に選択する項目が多数あります。Windowsユーザが「Gitをインストールしておいてください」とだけ言われてインストール方法がよくわからなかったときに参考になるよう、あるいはWindowsユーザに「Gitをインストールしておいてください」と伝えるときに参考URLとして共有で
- Raspberry Pi 3(Raspbian)をディスプレイなしでセットアップする方法[Windows][Etcher]Raspberry Pi 3にRaspbianをインストールし、HDMIディスプレイ、キーボード、マウスなしでセットアップする方法を紹介します。PCからSSHでログインできるように設定します。 作業する際に使用するPCのOSはWindowsです。今回は前回よりもmicroSDへの書き込みに便利なソフトウェアを紹介します
- (Updated )Raspberry Pi 3(Raspbian)をディスプレイなしでセットアップする方法[Windows][DDWin]Raspberry Pi 3にRaspbianをインストールし、HDMIディスプレイ、キーボード、マウスなしでセットアップする方法を紹介します。PCからSSHでログインできるように設定します。 作業する際に使用するPCのOSはWindowsです。Macを使う場合については別のエントリで書こうと思います。
- (Updated )ネットワーク共有したRaspberry Pi 3にSSH接続する方法[Windows]ネットワーク共有したRaspberry Pi 3(セットアップ済み)にSSH接続する方法を紹介します。
- (Updated )OpenGLとGLUTを使ってGCCでコンパイルする方法(Windows)WindowsにMinGWをインストールしてGCCでGLUT(freeglut)を使ってみたのでその記録をメモしておきます。 BorlandのBCCを使ってもできるようですが、今回はGCCを使いたかったのでGCCを使う場合についてのメモです。