STM32F1マイコンを使ってみようとしたものの、開発環境のセットアップで苦労したという話です。
私が詰まった箇所は『デバイスとして認識するためのドライバを別にインストールするのを忘れていた』ということでした。おなじようなことで環境構築が詰まらないように、メモとして残しておきます。
開発環境ができるまでの流れ
BluePillをもらう
知り合いからBluePillをもらいました。私は電子工作がそこそこ好きなので、これを使って遊ぼうと考えました。Amazonで1個500円程度で買えるようです。ArduinoUNOの互換機が1000円~3000円程度なので、非常にリーズナブルですね。ArduinoIDEでプログラムの書き込みができるという話なので、環境構築しようと考えました。
ArduinoIDEで使えるようにボード情報を追加
Githubの情報をもとに、サイトボード情報を追加します。
GitHub – stm32duino/Arduino_Core_STM32: STM32 core support for Arduino
GithubのGetting Startedの項目を参考に、jsonファイルのURLをArduinoIDEの設定の”Additional Boards Managers URLs“の項目に追加します。
ボード情報は無事にインストールができました。ボードも認識しているような表示も出ました。
書込テスト、アップロード失敗
試しに内臓LEDを点滅させるだけのシンプルなスケッチ(プログラム)をBluePillに書き込んでみました。書き込みをしてみるとエラーが発生して止まりました。調べてみるとPCからBluePillに対してプログラムをアップロードする段階で失敗しているようです。なんでや。
ドライバの存在を確認、インストールして再度書込
書き込み可能なPCと書き込みできないPCを比較しても、ArduinoIDEの設定は違うところはないです。しかし、現実として書き込み可能なPCと書き込みできないPCがある以上、何かしらの差があるはず。そう思って検索していると、デバイスドライバが必要という記事に行き着きました。ドライバいるとか聞いてない。
Windows用のドライバーをGithubからダウンロード。その後インストールして再度書き込みを行うと、うまく動作しました。
BluePillを使うために気を付けるべき箇所
今回の件を踏まえて、環境構築時のトラブルシューティングとして確認すべき箇所として以下に示します。
- 書き込んだブートローダーを使うようにアップロードメゾットを設定しているか?
- ドライバはインストールしたか?
- ボード情報はインストールされているか?
- ブートローダーは破損していないか?
- 物理的に破損していないか?
3番以降はすでに書込可能な環境が存在する場合のみできる方法です。なので、ほとんどの人はドライバとボード情報が正しくインストールされているかを確認することになるかと思います。
まとめ
環境構築はたいていの場合、二度やることはありません。しかし、二度やる場合もあるので、メモを残しておきましょう。試したものやインストールしたものも残しておくと、もしかしたら未来の自分が助かるかもしれないです。
参考
GitHub – stm32duino/Arduino_Core_STM32: STM32 core support for Arduino
BluePill(STM32F103)ボード用の開発環境構築 (toolsbox.biz)
STM32F103C8 ( Blue Pill ):Arduino開発環境の構築 – お部屋でモバイル (k05.biz)
コメント