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.3picoprobe-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