【mbed】STM32 Nucleoが(ようやく)Yosemite対応!
STMicroelectronicsのARM系マイコン「STM32」を搭載したmbed対応のボード「Nucleo」シリーズが便利です。arduino互換IOと追加のIOポートがついた20〜80MHzのARMコアが搭載されたボードが1枚1500円くらいという手頃な値段で販売されています。
ARMが構築しているmbed環境は、無料のオンラインの開発環境でコーディング・コンパイルしたり、他人のライブラリのインポートができたりする上に、マイコンボードへのプログラムの書き込みがドラッグ&ドロップでできるなど、非常に便利です。開発言語がC++なことも、プログラムの見通しをよくしてくれるので◯。
[tmkm-amazon]B00O0RM35O[/tmkm-amazon]
mbedの導入方法を紹介したウェブ
- STM32 Nucleoで始めるmbed開発:届いたらすぐに基板で遊べるmbedが凄すぎるので試してみました - パクえ先生ブログ
- [ARM/mbed]mbedではじめよう - 何か作りたいモノづくりサイト「Make.」
mbed.org上のIDEのスクリーンショット
問題: Yosemite+NucleoでUSBでマウントできない&プログラム書き込めない
ということで、開発環境がクラウド上にあるため開発マシンの制約がなく、Macが使えるのもmbedの大きな利点です。ぼくもMacで実験装置制御用のプログラムを開発していたのですが、2014年にMac OS X Yosemiteが公開されて以降、STM32 Nucleoシリーズは、プログラム書き込みに必須のUSB接続でのディスクのマウントができなくなってしまいました(USBで接続すると、フォーマットが適切ではない、というダイアログが表示されるだけでマウントされない)。
Yosemite対応のアップデート手順
長いこと時間がかかりましたが、2015年4月になってようやくSTMicroelectronicsから、Yosemiteとの相性問題を解決するためのNucleo側のファームウエアアップデートを公開しました。これまでのファームウエアアップデートはWindows環境が必要だったのですが、今回から素晴らしいことにMacでも動作するJavaのアップデータになっています。
STSW-LINK007 - ST-LINK/V2-1 firmware upgradeで、 ボタンをクリックしてアップデータをダウンロード・展開してください。
stsw-link007→NewAppliMacLinuxWindows→STLinkUpgrade.jarがアップデータです。Javaがインストールされていれば、以下のアイコンをダブルクリックすればアップデータのウインドウが表示されます(Javaがインストールされていない場合は、java.comのYosemite用のページを参照してください)。
アップデータの初期画面
アップデータを起動後、Nucleoを接続します。この時は今まで通りのエラーダイアログがでますが、そのまま閉じてください。その後、
-
アップデータで「Refresh device list」をクリック
-
プルダウンメニューに接続されたボードの情報が表示されます。
-
Open in update modeをクリック
-
Upgradeをクリック
すると、以下のスクリーンショットのようになり、30秒ほどでアップグレードが完了します。
アップグレード完了後、NucleoボードがUSB接続されると、これまで通りUSBディスクとしてマウントされ、mbedでコンパイル・ダウンロードしたバイナリファイルをドラッグ&ドロップすると書き込みと実行ができるようになります。