nRF52840にどうやってファームウェアを焼くか探していたら、Black Magic ProbeというオープンソースのSWDデバッガがあるらしいということがわかった。
STLink V2の互換品やSTM32F103搭載のマイコンボードの通称Bluepillにファームウェアを焼くだけで使えるらしい。
Black Magic Probeのファームが焼かれている製品も売っていてSegger J-linkより安いのでこうやってArduinoのブートローダーを焼くだけの目的にはいいかも?
というわけで早速手持ちのBluepillをBlack Magic Probe化してみることに。
ファームウェアはgithubからStable release v1.7.1をダウンロードしてきて使用することに。
このファームウェアを解答すると複数のbinファイルが入っているけど、今回はBluepillを使用するのでswlinkを使用することに。swlink用ファームはBluepillに最初からはんだ付けされているSWDポートをそのまま利用できるので、Bluepillにピンヘッダをハンダしなくてもこのファームを書くだけでそのままBlack Magic Probeとして使える。
というわけでまずはBluepillにblackmagic_dfu-swlink.binを書き込む。書き込み手順は過去にBluepillにArduino用のブートローダーを書き込んだときと同じなのでそちらを参照。
ピンヘッダを実装していないBluepillにICクリップでUSB TTL変換基板をつないで書き込んだ。
DFUファームウェアを書き込んだBluepillのジャンパピンをどちらも0に戻してUSBでPCBに接続するとDFUモードで認識されるので今度はZadigを使用してドライバをインストールする。
ちなみにBluepillの緑色LEDが点滅しているときがDFUモード。
Zadigを起動したらOptionsを開いてList All Devicesを選択。dfu-util -d 1d50:6018,:6017 -s 0x08002000:leave -D blackmagic-swlink.bin
を実行するとBlack Magic Probeのファームウェアが書き込まれる。
書き込まれたあとはBluepillのLEDが薄く点灯するはず。これでBlack Magic Probeの準備は完了。USBで接続するとCDC COMポートが2ポート認識し、BluepillのSWDピンヘッダ(GND、CLK、DIO、3.3V)をSWDデバッガとして使用することが可能になった。
0 件のコメント:
コメントを投稿