Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

DebugProbeでTimer割込が動作しない

DebugProbeでTimer割込が動作しない

フォーラムで質問してみた

https://forums.raspberrypi.com/viewtopic.php?t=378166

結論

プロセッサがデバッグモードの時の動作を設定するレジスタが存在する。
そのレジスタに予めデバッグモード時の動作をセットしておく必要がある

// デバッグ時のタイマー動作設定(Debug Probeで動かすとき)
DBGPAUSE.DBG0 = 0x0;   // プロセッサ0がデバッグモードのときに一時停止する → 無効
DBGPAUSE.DBG1 = 0x0;   // プロセッサ1がデバッグモードのときに一時停止する → 無効

まとめてやるなら

timer_hw->dbgpause = 0x0;

補足

OpenOCDのバージョン0.12.0以降は対策済みとの事。
なので、自分で最新版をコンパイルするなりバイナリダウンロードするなりで対応すればOKらしい。
https://github.com/raspberrypi/pico-sdk-tools/releases/tag/v2.0.0-5

This is a known issue with the 0.12.0 release of OpenOCD - for example see
https://github.com/raspberrypi/pico-vscode/issues/102

It's been fixed since 0.12.0, so for a pre-compiled OpenOCD version that fixes this problem you can try and use the XPack one, or download our pre-compiled one from the pico-sdk-tools repository.