安かったのでいつか試してみようと思って買っておいたSTM32F401CCU6搭載ボード(以下WeActSTM32)にArduinoスケッチを書き込んで動作確認するまでのメモです。
今回は主に次の4サイトを利用させていただきました。
Program STM32 Black Pill (STM32F401 / F411) with Arduino IDE (Windows OS)(少し古いのですが分りやすいインストール手順でした)
https://www.sgbotic.com/index.php?dispatch=pages.view&page_id=49
STMicroelectronics STM32CubeProgrammer(Arduino IDEで書込器として使用するアプリ)
https://www.st.com/ja/development-tools/stm32cubeprog.html
WeAct STM32(今回使用したSTM32のリソース情報)
2023/9/5:リンク先修正
GitHub – WeActStudio/WeActStudio.MiniSTM32F4x1: MiniF4-STM32F401CEU6/STM32F411CEU6 Product Literature
https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1/archive/refs/heads/master.zip(ボードの回路図やピン配置などもこのファイルの中にある)
STM32duino(STM32duinoサイト)
https://github.com/stm32duino
https://github.com/stm32duino/wiki/wiki/Getting-Started(最新のボードマネージャーのURLはここから)
ArduinoIDEにSTM32ボードを追加するところからの手順です。
ボードの設定が終わったので書き込み器としているSTM32CubeProgrammerをインストールしました。
準備ができたのでWeActSTM32ボードとPCをUSBで接続しましたが、ArduinoIDEのツール[シリアルポート]にポートが現れません。ArduinoやESPとは様子が違い、デバイスマネージャを開いてもCOMポートに表示されていません。
STM32CubeProgrammerをUSB接続を選びポートの再読み込みボタンを押してもポートに何も表示されません。
WeAct のサイトからDLしたMiniSTM32F4x1-masterの中にあったWeAct Studio Download Toolの手順に従うと最後にISPモードにする方法が書かれていました。
「BOOT0キーとリセットキーを押してからリセットキーを離し、0.5秒後にBOOT0キーを離します。」
ESP32と同じイメージなので実行してみるとWindowsのデバイスマネージャに”不明なUSBデバイス”として登場。
ここで諦めずにBOOT0キーを離すタイミングを変えながら何度も繰り返すとWindowsのデバイスマネージャにユニバーサル シリアル バス デバイスとして”STM32 BOOTLOADER”が現れました。
(何回も試しましたが、BOOT0キーとリセットキーをほぼ同時に離すぐらいの方がBOOTLOADERの出現確立が高いように感じました)
デバイスマネージャにSTM32 BOOTLOADERが表示された時にはSTM32CubeProgrammerにも”USB1”というポートが表示されました。これでスケッチの書き込みができそうです。
ArduinoIDEのサンプルスケッチBlinkをそのまま書き込むと問題なく書き込みが完了しました。
ここでArduinoIDEのCOMモニターを開こうとしてもポートがありませんのでエラーになります。そこでスケッチにシリアル出力を追記してWeActSTM32ボードのどこのピンに出力されるのかオシロで調べるとA11,A12で、このピンはUSBインターフェースに接続されています。ふとWindowsのデバイスマネージャを見るとCOMポートが出現していました。
ArduinoIDEのCOMモニターを開いてみるとスケッチ通りに出力されていました。
まだ解らないことばかりですが、とりあえず動作の確認はできました。