SWD経由でのファームウェア書込み
STMicro NUCLEO-L476RGのST-LINK/V2をDAPLink化するためのファームウェアを準備しましたので、実際にボードに書込んでDAPLinkとしての動作を確認したいと思います。
今回利用するSTMicro NUCLEO-L476RGボードにはターゲットデバイスとしてのSTM32L476RGが搭載されているメインボード部と、ST-LINK/V2デバッガとして動作するSTM32F103CBのボード部分に分かれています。
ST-LINK部に搭載されているSTM32F103CBのファームウェアをDAPLinkのものに書き換えます。
ST-LINK部のSTM32F103CBのファームウェアを書き換えるには、別途ST-LINK、J-LinkなどのSWDを扱えるデバッガが必要です。今回はNUCLEO-L476RGを2台使用します。
一度ファームウェアを書き換えると元のST-LINKには戻せませんので、片方はメインボードと切り離しDAPLink専用として使用することにしました。上の写真で切り離したボードには赤リード線を付けていますが、これは5V電源接続用です。
ボードの改造
切り離したボード上にあるSTM32F103CBにDAPLinkのプログラムを書き込むには、SWDIO/SWCLK信号線を引き出す必要があります。ボードの裏面にランドが用意されていますので、下記のように変更&改造します。
- DEFAULTと書かれた4つの0Ω抵抗のうち、SB3を外す
- SB5をSB6へ、SB7をSB8へ、SB9をSB10へ、それぞれ移動する
オリジナル
改造後
これでCN2(クリスタル横の4ピンヘッダ)をSWD接続用に使用可能となります。
実際の接続は下記のようになります。書き込む側(ST-LINKとして使う側)はCN2にある2個のショートピンを外し、CN4にSWDに各信号線を接続します。書き込む側(ST-LINKとして使う側)はボードを切り離す必要はありません。
CN4のピン配置は下記になります。
CN4 ピン番号 | 信号名 |
1 | VIN |
2 | SWCLK |
3 | GND |
4 | SWDIO |
5 | NRST |
6 | SWO |
VINとSWOは今回は使用しません。上の写真ではNRSTも接続していますがこれは無くても動作します。
次ページにてツールを利用して実際にファームウェアを書込んでいきます。
コメント