これはそれこそ偉大な先輩たちが,たくさんの資料を残してくれていますので,それをたどっているだけなのですが,私の記録として残します。
目的
- Mac, Windows 両方でプログラム開発,書き込みができるようにします。
- オンボードのUSB端子を使って書き込み,シリアルモニターできるようにします。
- 開発環境は Arduino IDE を使いました。
準備したもの
-
STM32F103C8T6 開発ボード Aliexpressで購入 いわゆるコピー品。BlackPill
-
ST-LINK V2 コピー品? 同じ店で購入
-
Mac Mojave 10.14.6
-
Windows 10 Home
- 上記MacのVMware上で動いています。
- BootcampのWindows 10 Homeも使っています。
ボード準備(はんだ付け)
- ST-LINKを接続するために,ICSP端子の4ピンヘッダをはんだ付けします。
- ICSPモードに入るため,CPUとなりの3ピンヘッダ2個をはんだ付けします。
ブートローダー書き込み
Black Pillの場合は,PB12というブートローダーが必要なようです。これをダウンロードします。
そのあとの手順は,有名なこちらのページから。
私の場合は,VMware上のWindows10で作業しました。
- ST-LINK Utilityをダウンロード,インストール。
- ST-LINK ファームウエアのアップデート
- Utilityを起動,ボードをISPブートモードにセットして接続
- generic_boot20_pb12.bin を指定して書き込み。
- ボードのジャンパーを元に戻します。
Mac側 Arduino IDE 準備
これも山のように先人たちの資料がありますが,とにかくまとめます。
-
ボード情報をインストール
- Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino を ツール - ボード - ボードマネージャ から検索してインストール
-
ライブラリーをインストール Mac独自手順
- 以下から Zipをダウンロード。
- zip を展開すると Arduino_STM32-master フォルダーとなるので,
~/Documents/Arduino/hardware/
を作って,丸ごとそこに移す。~/Documents/Arduino/hardware/Arduino_STM32-master/各ファイル
となる。
-
書き込みのための準備。以下の作業をしないと,Arduino IDEで書き込めません。(ハマりました)
- Homebrewをインストール
-
brew install libusb
を実施
-
スケッチを準備,設定は以下の感じ。

Windows 10 Home の場合 Arduino IDE 作業
- Bootloaderは上記手順で導入済みとします。
- Arduino IDE 1.8.10をダウンロード,インストール。Windows Store版はスケッチが書き込めない不具合がありました。(のちに修正されるかもしれませんが...)
- Mac版と同様,Arduino SAM Boards (32-bits ARM Cortex-M3) パッケージをインストール。https://github.com/rogerclarkmelbourne/Arduino_STM32 をインストールフォルダ¥hardwareを作って保存。
- ドライバーのインストールは以下を参照
drivers\win フォルダにある install_drivers.bat を ([管理者として実行] で) 実行し、USB DFU / Serial ドライバをインストールする。
- スケッチを書いて書き込み。
-(2019/12/22追記)VMware上のWindowsでは,スケッチの書き込みがうまくいきませんでした。これは,書き込み時にUSBをいったん離すときに,VMwareが再び「接続先は?」と聞いてくるので,タイムアウトしてまうようです。設定すればうまくいくかもしれませんが,面倒なので(失礼!)放置します。自分の環境では,必要があればBOOTCAMPのWindowsで確認します。(メインがMacなので。追記終わり)
注意,補足事項
- ブートローダー書き込み直後は,Arduino IDEでシリアルポート[Maple]が見えないのかもしれません。すみません,覚えていないです。そのようなwebページを見かけました。
- Macだけでブートローダーを書き込む手順もあるようですが,なんとなくですがST-LINKでWindowsの方が確実かと思ってそのような手順にしてしまいました。
2024/9/19 暫定追記
STM32CubeIDE 互換品ST-LINKでRunおよびDebugが(ちょっと動作不安定だが)できるようになった。
参考
デバッグプローブを ST-LINK (OpenOCD) に。
Mode Setup - Reset Mode を Software system reset に。
Runすると書き込んでくれるが、再起動してくれない。いったんST-LINKをPCから外し(この時電源OFFする)、再度接続すると新しいプログラムで実行される。
Debugは普通にできるっぽいが、ちょっと動きが不安定?