自作マイクロマウス研修(kaede)

SAMマイコンでSWD書き込みが安定しなかった話 – 自作マイクロマウス研修(kaede) Part5

自作マイクロマウス研修(kaede)

こんにちは、kaedeです

前回SAMマイコンを使ってLピカをしましたが、書き込みが安定しない場合があったので、確認を行いました。補足としてブログにもあげておこうと思います。

原因と対策

前回の記事で書き込みの際には、電源とSWCLKとSWDIOのみを接続していました。

SWDのSWDIOピンはデバッガー接続を検出された際に起動時でも自動で切り替わると書かれているため、リセットピンを接続しなくても問題ないかと思っていましたが、MPLAB X IDEから書き込みがうまくできる時とできない時がありました。

引用元:https://ww1.microchip.com/downloads/aemDocuments/documents/MCU32/ProductDocuments/DataSheets/SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf

外部リセットも接続しておけばデバッガーから確実にリセットがかかるはずなので、その部分の接続も追加することにしました。

外部リセットピンをデバッガーに接続しますが、MPLAB SnapのマニュアルのSWD接続にはMCLRと書かれていました。Master Clear Pin External Reset (MCLR)はMicrochip?PIC?っぽい書き方なんでしょうか。ここをSAMマイコンのリセットピンにつないであげると書き込み時にMPLAB X IDEからリセット信号を送ってくれそうです。

開発基板側は実はリセットピンも引き出していたので、簡単に配線を追加して動作確認できました。外部リセットピンを追加した後は安定して書き込みできていそうなので、これが正しそうです。

改めてデータシートを見てみるとProgramming時は外部リセットを使うような記述になっていました。接続していない場合でも書き込みできる時もあったため、詳細は不明ですが、ひとまず外部リセットも接続しておけば安心して開発できそうです。

引用元:https://ww1.microchip.com/downloads/aemDocuments/documents/MCU32/ProductDocuments/DataSheets/SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf

参考資料

ArmのSWDに関する資料

ARM Debug Interface v5 Architecture Specification

STM32シリーズでSWDから操作できなくなった時の対処法https://qiita.com/toyoshim/items/a14557127a636c8c4153

 

タイトルとURLをコピーしました