DebugProbeでTimer割込が動作しない
結論
プロセッサがデバッグモードの時の動作を設定するレジスタが存在する。
そのレジスタに予めデバッグモード時の動作をセットしておく必要がある
// デバッグ時のタイマー動作設定(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.