2024年4月6日土曜日

BlackpillというSTM32 board(1)(初体験は地雷でした)

中華通販でこういう基板が多く出回っています.¥400ぐらいですかね.WEACTという中華の人がやっています.openなのかどうかは知りませんが技術情報は公開されています.
CPU:STM32F401CCU6  回路図
STMではよく目にするCPUですね.でも使ったことはないんで初体験なんです.

基板にUSB-C端子がありますが、物理的にUSB-Cコネクタなだけであって、protocol的にはUSB2.0の12Mbpsの接続しか出来ないはずです.480Mbpsは出ません.それでもUARTよりは速いだろうから試してみます.6Mbpsぐらい出たらいいな.

開発環境は、STM32CubeIDEでもよいですが、ArduinoIDEで焼けるらしいので試してみます.ArduinoIDEの方がライブラリが簡単ポンなので楽ちんです.

ーーーー
買った基板をいきなりPCにUSB接続しますと、何が起きたか?
USB入力デバイスが1つ増えました.VIDはSTMでした.LEDが点滅しています.ヒューマンなんちゃらクラスのtest programが工場で焼かれているようです.とっとと上書きしちゃおう.

次に、reprogramming時に使うと思われるBOOT SWを押しながらRESETしてみますと、デバマネにSTM Device in DFU modeというもの出てきます.これにIDEがアクセスするのでしょう.DFUの仕様は知りませんが、こちらに少し書かれています.

ちょっちカーナピーナにカレーを食べに行くので中座します.

ーーーー
帰宅しましたー

ArduinoIDEのboard magerにSTM32を追加します.このページの前半が参考.
キモの部分はこれです.いつものジェイソンです.
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

↓ArduinoIDEのboard managerで「STM32」で検索して出てくるこれをインスト.

↓board managerでGeneric STM32F4 seriesを選べるようになりました.

↓Toolsの下のmenuがやたらと増えてる.BlackPill F401CCというそのものがあるので選択しといた方がよさそう.

↓まだあるぜ、これもイカにもやっとけ的なものがよ.STM32CubeProgrammer(DFU)にしておく.

BOOT SWを押しながらRESETするのを忘れずに、焼いてみます.
きゃーーっ、エラーよ.program toolがないと言ってます.

やはりこれをインストしなくちゃいけないみたいです.
STM32CubeProgrammerが必要のようです.(IDEインストしてるからそれで足りると期待したんだがね)
素直にインストして、焼けるようになりました.Lチカ動いてる.

ーーーー
ぎゃーーっトラブル!
一度焼いたら、USBの認識がSTM32CubeProgrammer(DFU)じゃなくてSTM32 BOOT LOADERに変わってしまいました.
混迷の度は深まる・・・・

これねぇ、いくつかの地雷回避が必要みたいです.
1)焼き操作に先んじて基板をUSB接続し、BOOT SWを押しながらRESETする
2)デバマネに「STM32 BOOT LOADER」が表示されているのを確認
3)STM32 BOOT LOADERになっちゃったこと自体は無視してかまわない
4)STM32CubeProgrammer(DFU)を選択する(上述)
5)dfu ports 1-5を選択する

ここで地雷なのは、dfu portの選択肢を出すために1234の順に操作しないとダメ、ということです.
もちろん、一度決めればArduinoIDEが記憶してくれますけど、別のboardを使ってBlackPillに戻した時には12345の地雷回避を実施しないとダメです.

ちなみに執筆時のArduinoIDE version2.3.2です.

初体験は地雷でした...地雷はいや

↓焼き操作のmessageはこんなです.

Sketch uses 11356 bytes (4%) of program storage space. Maximum is 262144 bytes.
Global variables use 1156 bytes (1%) of dynamic memory, leaving 64380 bytes for local variables. Maximum is 65536 bytes.
-------------------------------------------------------------------
     STM32CubeProgrammer v2.15.0
-------------------------------------------------------------------
USB speed   : Full Speed (12MBit/s)
Manuf. ID   : STMicroelectronics
Product ID  : STM32  BOOTLOADER
SN          : 388436893135
DFU protocol: 1.1
Board       : --
Device ID   : 0x0423
Device name : STM32F401xB/C
Flash size  : 256 KBytes (default)
Device type : MCU
Revision ID : --  
Device CPU  : Cortex-M4

Memory Programming ...
Opening and parsing file: Blink.ino.bin
  File          : Blink.ino.bin
  Size          : 11.52 KB 
  Address       : 0x08000000 

Erasing memory corresponding to segment 0:
Erasing internal memory sector 0
erasing sector 0000 @: 0x08000000 done
Download in Progress:

File download complete
Time elapsed during download operation: 00:00:00.870

RUNNING Program ... 
  Address:      : 0x8000000
Start operation achieved successfully

かしこ

0 件のコメント:

コメントを投稿