- Mac (これ買いてる人はMacbook Air 2014 11インチという古いMac)
- bluepillっぽいボード
- ST-Linkっぽいもの
- ジャンパーケーブル (STLinkとSWD端子を繋ぐ。メスメスx4かな?今回つかうやつだと)
- Arduino IDE ※書いてる人は 1.8.5で試した
$ brew update
$ brew install stlink
https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/STM32F1/binaries
generic_boot20_pc13.bin
SWD端子とSTLINKを繋ぐ。
https://wiki.stm32duino.com/index.php?title=Blue_Pill
を見ながら間違えないように繋ぐ(間違えたw)
$ st-info --probe
みつかったらOK
ダウンロードしたeneric_boot20_pc13.bin
を、~直下に置く (めんどくさいので)
そのうえで、
$ st-flash write ./generic_boot20_pc13.bin 0x8000000
これで書き込める
Arduino IDEを起動して、Board Manager
からArduino SAM Boards (32-bits ARM Coretex-M3) by Arduino
を選んで入れる。
これだけでは入らない! dueがはいるだけ! (依存あるから入れる?謎)
つづけて、
https://github.com/rogerclarkmelbourne/Arduino_STM32
をダウンロードして、解凍して、
Arduino IDEの中の hardware
フォルダ下にコピー。 (Arduino_Arduino_STM32
というフォルダ名にする)
Arduino IDEを再起動すると、STM32用のボード一覧が表示されるようになります。
blinkを開いて、ボードからGeneric STM32F103C Series
を選んで書き込みます。
ここで注意。
一番最初、何も書き込まれていないときは、DFUモードから抜けないからそのまま書き込めるけど、2回目以降はDFUからすぐに抜けてしまいます。
リセットを押した直後1-2秒だけ書き込める感じです。
Arduinoの書き込み後、ビルドが走るので、「Arduinoの書き込みを押した後0.5秒後くらいにボードのリセットを押す」と、書き込み成功します。 むずかしい。。。w
Lチカは動きました。(このボードでLED_PINはPC13になってる) リセット押すタイミングも慣れればOK。
https://qiita.com/nanbuwks/items/ba37f049f45378da0e2b
https://ht-deko.com/arduino/stm32f103c8t6.html
http://morecatlab.akiba.coocan.jp/lab/index.php/2016/02/arduino_stm32-bpb/
まだ Wire Libraryに Slaveが実装されていないようだ。。。
が、
rogerclarkmelbourne/Arduino_STM32#408
WireSlave.h
だと...?
明日試してみよう...
追記。
MacOS新しいので、やとうろしたら、下記のようなエラーが。
環境は MacOS Mojave 10.14.6 : Catarinaじゃない
libusbを新しくすればOK
上記実施後、Arduino IDEから書き込めた。
以前と違う (?) と思うところ。
書いたのが2年前なので記憶の方が怪しい?という説もあるけど。
generic_boot20_pc13_fastboot.bin
Arduino の device 設定は下記の通り。