Interface7月号のラズパイPicoでゼロから作るOSを試そうとしたら環境構築で手間取ったのでメモ。
先に結論
Interface記載の各ダウンロード先最新のもので環境構築をするとpicoprobeのデバックが動かない。対処としてxpmで入れたopenocdを使用すると動いた。
インストール方法
node/npm/xpmが入っている環境で
cd my-project
xpm init # Only at first use.
xpm install @xpack-dev-tools/openocd@latest --verbose
事象
手順通りだとエラー。エラーメッセージを取り損ねているけどlocalhost:3333がtimeoutとかの類だったはず。
cmsis-dap.cfgを修正しadapter speed 5000を追記するという手順をしても以下エラー。
Error: Sequence 4 not supported.
Info : DAP init failed
Error: Sequence 3 not supported.
Error: Sequence 4 not supported.
原因
Interface記載のopenocdだと今のpicoprobeの処理に対応していない。こちらのリンク先のパッチが未適用。(公式だと取り込まれていた。)Interface記載の段階では動いたようなのでおそらくpicoprobeのバージョンアップで動作が変わったと思う。(が、picoprobe側の変更履歴は確認していない。)
各バージョン
多分直接関係するのはopenocdとpicoprobeだけだと思う
C:\Users\kitam>node -v
v18.17.1
C:\Users\kitam>npm -v
9.6.7
C:\Users\kitam>xpm --version
0.16.3
picoprobe-cmsis-v1.0.3
"xpack": {
"minimumXpmRequired": "0.16.3",
"dependencies": {},
"devDependencies": {
"@xpack-dev-tools/arm-none-eabi-gcc": {
"specifier": "12.3.1-1.1.1",
"local": "link",
"platforms": "all"
},
"@xpack-dev-tools/windows-build-tools": {
"specifier": "4.4.0-1.1",
"local": "link",
"platforms": "all"
},
"@xpack-dev-tools/openocd": {
"specifier": "0.12.0-2.1",
"local": "link",
"platforms": "all"
}
},
Eclipse IDE for Embedded C/C++ Developers (includes Incubating components)
Version: 2023-06 (4.28.0)
Build id: 20230608-1333