以前、この記事で「SAM ちゃん Brick したあああ」とか「もう嫌だコイツ触んねポイー」的なこと言っていましたが、SAM DマイコンでSETDISビットを1にしてSWDが無効になったとき | 東京デバイセズ の記事をフォロワー(サークルの部員でもある)に教わり、復活法を試してみました。
その時はどうやら GND に落とすピンを間違っていたみたいで復活しませんでしたが、今日もう一度やってみて、実際にこの通りにできました。
その方法を簡単に書きます。引用です。
- RESETN ピンを GND に落としてリセット状態に。そして SWCLK も GND に落としておく。
- RESETN のみを開放してリセット状態を解除。これでデバッグモード(データシートで "debug mode" と言う文言がある)に入る。
- SWCLK はもう開放していい。この状態で SWD デバッグが出来る。神。
そもそもの原因ですが、クロック設定で色々ミスって、ユーザープログラムを実行したマイコンちゃんが気絶していたんですね(おそらく)。だからこの状態で SWD デバッグに入れようとしても無応答だったというわけです。
でも今回のようにユーザープログラムを実行させずにデバッグモードで CPU を待機させておくことで、気絶する命令の前に SWD 接続ができ再プログラミングが出来たというわけです。
いや〜〜〜、いずれにしてもよかった!世界的に情報が少ないから諦めかけてました。
余談ですが、僕は割りとマイコンで「信じる心」を学んでいます。そう。今回のように一度 Brick しても諦めずに冷静にトライすればきっと夢は戻る。