<@list> STM32F103C8T6 Minimum System Development Board 元々誰が設計したか不明。 何故かどこも青い基板で作って売ってるのでBluePillと呼ばれてる。 Aliexpressで1.5ドルから2ドル(送料込み)で売られてる。 スペック ARM Cortex M3 72 MHz 64 KB/128 KB Flash 20 KB RAM GPIO チップには37個、基板から出てるのは32 うち2つはUSBとしても繋がってる。 Arduinoとして 別途ファームウエアを書き込まないといけない。 やり方 https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Flashing-Bootloader-for-BluePill-Boards 別途STLink2とかがいる。 これもクローンが2ドル以下で売ってる。 もしくは、シリアルで書き込みも可能 試してない。 試したライブラリ GPIO LiquidCrystal SC1602液晶で Tone Serialオブジェクト USBシリアル扱いになってる。 デバッグに使える。 PlatformIO Arduinoでビルドができた。 はじめかた 開発環境の準備 Arduino IDEを入れる https://www.arduino.cc/en/Main/Software 公式の"Arduino SAM Boards"ボードサポートをいれる。 [[ref>http://wiki.stm32duino.com/index.php?title=Installation]] ↓のURLを使ってSTM32Duinoのボードサポートを入れる。 http://dan.drown.org/stm32duino/package_STM32duino_index.json ブートローダの準備 openocdパッケージを入れると、必要なudevルールが追加される。 ↓からブートローダをダウンロードしてくる。 [[ref>https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Flashing-Bootloader-for-BluePill-Boards]] https://github.com/rogerclarkmelbourne/STM32duino-bootloader/raw/master/binaries/generic_boot20_pc13.bin Arduinoのパッケージにあるst-flashで書き込む ~/.arduino15/packages/stm32duino/tools/stm32tools/2018.2.13/linux/stlink/st-flash write ~/Downloads/generic_boot20_pc13.bin 0x8000000 接続 ~/.arduino15/packages/stm32duino/tools/stm32tools/2018.2.13/linux/45-maple.rules を /etc/udev/rules.dにコピーするとパーミッションがあく ModemManagerと衝突して書き込みができない。(書き込みの時にリセットできない)問題がある。 45-maple.rulesを次のように書き換えると、ModemManagerが無視してくれるらしい。 ATTRS{idProduct}=="0004", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev",ENV{ID_MM_DEVICE_IGNORE}="1" SYMLINK+="maple" それでも、駄目な時は書き込みの時に手でリセットボタンを押すといいけど、めんどい CubeMX 公式の開発ライブラリらしい。 GUIでクロック、モジュール、ピンアサインなどを設定して、ボイラープレートを作ってそこから開発 設定で有効にしないと動かないので注意 ボイラープレートを作った後は、PlatformIOでいけた。 PlatformIOでCubeMXのプロジェクトをコンパイルすると動かない issueをあげた https://github.com/platformio/platform-ststm32/issues/82 リンカスクリプトが壊れてるらしい。 リンク http://wiki.stm32duino.com/index.php?title=Blue_Pill https://ht-deko.com/arduino/stm32f103c8t6.html