black pill をarduinoとして使えるようにする準備

1 AliExpress でBlack Pill 購入

2 arduino ide1.8.5をダウンロード

 ちなみに元々使ってた1.6.X系だとコンパイルができなかった。

 ツール → ボード → Board Manager を選択して、
 Arduino SAM Boards (32-bits ARM Coretex-M3) by Arduino を選択してインストールします。

3 ブートローダーの書き込み

  ↓を参考に
ARM ボード STM32F103C8T6 (Black Pill) で L チカ - JH1LHVの雑記帳

ジャンパ設定をブートローダ書き込み用にする

f:id:morning-pumpkin:20180816232850g:plain

rs232のシリアルモジュールとblack pillを接続

black pill USB シリアル
RX PA9
TX PA10
GND G
3.3V V3

stのflash loader demonstratorインストール

ダウンロードにはstのアカウントが必要。

flash loader demonstratorからの書き込み

f:id:morning-pumpkin:20180816230443g:plain
シリアルをつないで一度リセットボタンを押さないと flash loader demonstratorが認識してくれなかったので気を付ける。

f:id:morning-pumpkin:20180816230858g:plain 次に進む

f:id:morning-pumpkin:20180816230909g:plain page0 0x8000000を選ぶ

f:id:morning-pumpkin:20180816230915g:plain black pill用としてgeneric_boot20_pb12.binをつかった。 gitbubのファイルの中にある。

4 githubから環境ダウンロード

https://github.com/rogerclarkmelbourne/Arduino_STM32

↓のinstall のwindowsの項目に従ってやればよい。
Installation · rogerclarkmelbourne/Arduino_STM32 Wiki · GitHub

コンパイル環境

コンパイル環境はフォルダ丸ごと
*\arduino-1.8.5\hardware 以下にコピーする。
たとえば、C:\arduino-1.8.5\hardware\Arduino_STM32-master

デバイスドライバ

 デバイスドライバarduino ideから書き込み前にインストールしてないといけない。
 navigate to the folder: /drivers/win/ and run: install_drivers.bat.を実行する。

 インストールしてないと、以下のエラーメッセージがでて書き込みが失敗する。
 Couldn't find the DFU device: [1EAF:0003]

5 arduino IDEからプログラム書き込み

ジャンパ設定をarduino動作用にする

f:id:morning-pumpkin:20180818220051g:plain

PCとmicro USB接続する

ブートローダ書き込み時はuart接続しないといけないが、 arduinoとして使うときはUSBから接続できる。

ArduinoIDEのボード設定をする。

f:id:morning-pumpkin:20180816230110g:plain
arduino IDE上でのボード設定選択

↑のとおりボード設定をする。

プログラムを用意する。

void setup() {
  // put your setup code here, to run once:
  pinMode(PB12, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(PB12, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(PB12, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

LEDのポートはPB12にする。

f:id:morning-pumpkin:20180816225647g:plain
arduino IDE書きこみ成功

書き込み完了!!

参考リンク

ARM ボード STM32F103C8T6 (Black Pill) で L チカ - JH1LHVの雑記帳 SMT32F103を使ってみる STM32F103 Black Pill - STM32duino wiki