STM32duinoの導入

2018.2.2 JH7UBC


STM32F103C8T6ボードをArduino IDEで使う場合、一般的にはArduinoのブートローダーをボードに書き込み、
USBを利用してArduino IDEからスケッチを書き込みます。
ここでは、ブートローダーを書き込まないで、STM32F103C8T6ボードに内蔵されているシリアル通信ファームウエアを利用し、
USBシリアル変換を通してスケッチ(プログラム)を書き込む方法を紹介します。


Arduino IDE側の準備(STM32duinoの導入)

JA2GQPさんのブログを参考にしています。)

まず、Arduino IDEを立ち上げます。(バージョンは、最新バージョンでOKです)
ツール→ボード→ボードマネージャーを開き、
Arduino SAND Boards(32bit ARM Coretex-M0+)をインストールします。

次に、GitHubからArduino_STM32_master.zipをダウンロードします。
ダウンロードしたzipファイルを解凍し、Arduino_STM32というフォルダーを作成し、そのフォルダに内容を保存します。
このフォルダーをArduino IDEが保存されているフォルダ内のhardwareというフォルダ内にコピーします。
(hardwareというフォルダがない場合は、作成します)


USBシリアル変換との接続

USBシリアル変換モジュールは、手持ちの秋月電子のFT232RLモジュールを使いました。
FT232RLのジャンパーピンは、J1は、3.3V側に、J2は、ショートします。
FT232RLとSTM32F103C8T6との接続は、次のように行います。

 FT232RL   STM32F103C8T6 
 RXD --- A9(TX1) 
 TXD ---  A10(RX1)
 3V3 ---  3.3V
 GND ---  GND


STM32F103C8T6ボードのBOOTジャンパーは、次のようにセットします。

プログラム書き込み時

 BOOT0  1側
 BOOT1  0側

Power on または、RESET時
 BOOT0  0側
 BOOT1  0側

スケッチ(プログラム)の書き込みと実行

Lチカ(ボード内蔵のLEDを点滅させる)のスケッチを例に説明します。
Arduinoでは、ピンの指定は、番号だけで良いのですが、STM32の場合は、ポートがA,B,Cと2種類ありますので、PC13(内蔵LED)のように指定します。
スケッチを書き込むために、Arduino IDEのツールを開き、次のように設定します。

ボードは、"Generic STM32F103C Series"に
Upload methodは、"Serial"に設定します。

パソコンとFT232RLをUSBで接続し、書き込みをクリックすると、スケッチがコンパイルされ、プログラムがボードに書き込まれます。

書き込まれたプログラムは、そのまま実行され、BOOTジャンパがそのままでも、PC13に接続されているLEDが1秒ごとに点滅します。
その後、BOOTジャンパをBOOT0,BOOT1とも0側に設定して、電源を入れ直すか、RESETをかければ、プログラムが実行され、LEDが点滅します。

これで、Arduino IDEからスケッチをボードに書き込み、プログラムを実行できるようになりました。

inserted by FC2 system