SNSへはこちら

STM32 CubeMX Programmer(STM32CUBEPROG)が出たぞ (2)

ということで使ってみよう編です。

つい先程書き込みをやってみましたので、できたてホヤホヤのノウハウ(?)をお教えします。

対応インターフェイス

書き込みは USB の DFU、ST-Link、UART が使えます。SWD では残念ながら CMSIS-DAP はデフォで使えず ST-Link のみというケチな仕様ですので、今回は UART について説明します。USB はたぶんこれより簡単だと思いますので、察してやってください。

接続

書き込む前にインターフェイスに接続する必要があるようです。これはよくある書き込みソフトと異なる点ですが、そういうものとして受け入れましょう。まずは起動直後の画面は以下の通りとなります。ここから「UART」を選択します。

プルダウンメニューがデフォで ST-Link になっていると思いますので、そこを UART にするというわけです。

すると詳細な設定画面が現れます。ここでポート名、Baud Rate 等を選択してください。僕は 115200 kpbs でうまくいきました。ポートが見つからない場合は右のリフレッシュボタンを押すと良いと思います。さてここでミソなのですが、Party は適当に None 以外の値に設定 しておいてください。None にすると接続に成功した直後にアプリケーションが落ちます。僕は Even でも Odd でも接続はうまく行っています。なんだかなぁ。

Connect を押すとマイコンと接続。この時 BOOT0 を High にし、リセットを掛けておいてください。自動的に Flash の内容が読み出され、こんな良い感じになりますよ↓

書き込み

上の画面からはプログラムデータの読み出しができるのですが、ここでは書き込みの説明とします。まずウィンドウ左側のデータ消去/書き込みボタンを押してください。

現れた画面でデータを読ませる部分がありますので、バイナリのパスを指定します。

そうしたら準備は完了。Start Programming ボタンを押すとすぐに書き込みが始まります。画像は書き込み真っ最中のもの。

書き込みが正常に終わると以下のようなダイアログが出ます。お疲れ様でした。

所感

これまでは stm32writer や stm32flash の非公式ツールを使って Mac, Linux で頑張って書き込みをしていましたが、このツールのお陰で公式な方法で書き込みが出来るようになりました。とても嬉しいです。
まだ登場して間もなくバージョンが 1.0.0 であるのでやや動作に難はありますが(先程の Parity で落ちたり、インターフェイスのリロードで落ちたり)、ひとまずシリアルで書き込めたので良かったです。
これまで CLI ということで得も言えぬ玄人感が出てしまっていましたが、この GUI ツールのお陰で気楽に書き込みをすることができようになったのではないでしょうか(Windows は元から出来たが)。何より、操作感を統一したまま、マルチプラットフォームで使えるツールが登場したということは非常に良いことだと思います。

ところで今、aitendo で入手した中華製 ST-Link v2(Aliexpress とかでもわんさかあります)を認識するか試してみましたが、こんな感じに認識してくれました。すごい!