STM32 で Arduino が使用できることが分かり、STM32 HAL Library からArduino に鞍替え(出戻り)。
まずはブートローダーを書き込む手順を備忘録として残します。
Blue Pill の購入
Aliexpress で STM32F103C8T6 が搭載された、Blue Pill と呼ばれるマイコンボードを購入しました(Blue Pillのクローンだと思う)。
本体価格が194円、送料込みで242円だった。
安い!
他に必要なモノ
- USBシリアル変換基板
ブートローダーを書き込むのに必要。
こちらも Aliexpress では200円で売っていました。 - ワイヤージャンパー
Blue Pill と USBシリアル変換基板を接続するために使用します。 - Microsoft Windows が実行できる環境
ブートローダーの書き込みにあたり使用します。
※WEBを確認する限りではMacでもブートローダーの書き込みができるようです
が、当方の環境では書き込みできませんでした。
VirtualBoxなどの仮想環境上で動作する Microsoft Windows でも大丈夫です。
使用するソフトウェア類のダウンロード
ブートローダー
STM32duino-bootloader から、ハードウェアに応じたファイルをダウンロードします。
当方が購入した Blue Pill では generic_boot20_pc13.bin で動作しました。
STM32 Flash loader demonstrator
ブートローダーを書き込むのに使用します。
STM32 Flash loader demonstrator からダウンロードします。
Blue Pill の抵抗の交換
Blue Pill の基板の裏側にある R10 の抵抗を確認します。
本来1.5KΩである必要がありますが、10KΩ(103)となっている場合は交換します。
書き込み回路
ブートローダーを書き込むために、下記のように Blue Pill と USBシリアルを接続します。
デフォルトではBOOT0, 1のジャンパーピンが左側に接続されていますが、BOOT1を右側に接続します。
■デフォルトの接続状態
ブートローダーの書き込み
STM32 Flash loader demonstrator を起動します。
Port Name に関し、USBシリアルに割り当てられているポート名を選択します。
Nextボタンを押下します。
Target が「STM32F1_Med-density_64K」が選択されていますが、「STM32F1_Med-density_128K」を選択してみます。
エラーにならないようであれば、そのまま Nextボタンを押下します。
※エラーになるようでいれば「STM32F1_Med-density_64K」に戻して Nextボタンを押下します。
Download to device を選択します。
Download from file 右側にあるボタンを押下してダウンロードしたブートローダー(generic_boot20_pc13.bin)を指定したら、Nextボタンを押下します。
期待通り動作すると、 Download operation finished successfully と表示されるので Closeボタンを押下します。