やらかしたので復帰方法をメモしておきます。
STM32でSWDをGPIOにするとPCから接続できない
STM32でSTM32CubeMXを使っているのですが、間違えてPA13とPA14をGPIOに設定してプログラムを書き込んでしまいました。すると、PCから接続できなくなります。さて、どうやって復帰するかと色々試行錯誤しました。
SWDデバッグ端子にNRSTもつながっている場合
これは一番easyで、STLINK-UtilityのTarget->SettingでConnect Under Resetに変更します。これで接続してMass Eraseします。
最近出てきたSTM32CubeProgrammerの場合、ST-LINKのRESET modeをHardware resetでOKです。
SWDデバッグ端子がSWCLK、SWDIO、GNDの三線の場合
方法1
この場合、BOOT0をHにして、bootloaderが起動するようにします。ユーザープログラムは起動していないので、SWD接続可能です。
方法2
- NRST=Lにします
- STLINK-Utilityで接続します
- NRST=Hにします
- Mass Eraseします