いろいろ調べたところ、どうやらブートローダーは書き換える必要があるようです。以下に手順を記録します。
1.フラッシュ書き込みツールのインストールと準備
フラッシュへの書き込みツールは以下の手順でインストールします。
$ sudo apt install stm32flash
ツールの書き込みができたら、USBシリアルケーブルと接続します。
- USBシリアルのVcc ⇔ STM32F103ボードの+5V
- USBシリアルのGND ⇔ STM32F103ボードのGND
- USBシリアルのTX ⇔ STM32F103ボードのA10
- USBシリアルのRX ⇔ STM32F103ボードのA9
接続したら、BOOT0のジャンパを1側にセットして、PCに接続します。
2.ブートローダのダウンロードと書き込み
以下の手順でブートローダをダウンロードして書き込みます。
~$ git clone https://github.com/rogerclarkmelbourne/STM32duino-bootloader Cloning into 'STM32duino-bootloader'... remote: Enumerating objects: 796, done. remote: Total 796 (delta 0), reused 0 (delta 0), pack-reused 796 Receiving objects: 100% (796/796), 905.37 KiB | 1.18 MiB/s, done. Resolving deltas: 100% (548/548), done. ~$ cd STM32duino-bootloader/ ~/STM32duino-bootloader$ cd binaries/ ~/STM32duino-bootloader/binaries$ sudo stm32flash -f -v -w generic_boot20_pc13.bin /dev/ttyUSB0 stm32flash 0.5 http://stm32flash.sourceforge.net/ Using Parser : Raw BINARY Interface serial_posix: 57600 8E1 Version : 0x22 Option 1 : 0x00 Option 2 : 0x00 Device ID : 0x0410 (STM32F10xxx Medium-density) - RAM : 20KiB (512b reserved by bootloader) - Flash : 128KiB (size first sector: 4x1024) - Option RAM : 16b - System RAM : 2KiB Write to memory Erasing memory Wrote and verified address 0x08005294 (100.00%) Done. ~/STM32duino-bootloader/binaries$
書き込んだらPCからUSBシリアルを外して、ジャンパを戻します。