]> Git Repo - pico-vscode.git/commitdiff
Update Risc-V toolchains, and add picotool version selection (currently hidden, as...
authorWilliam Vinnicombe <[email protected]>
Mon, 2 Sep 2024 16:09:32 +0000 (17:09 +0100)
committerWilliam Vinnicombe <[email protected]>
Mon, 2 Sep 2024 16:09:32 +0000 (17:09 +0100)
14 files changed:
data/0.16.0/github-cache.json
data/0.16.0/supportedToolchains.ini
data/0.16.0/versionBundles.json
scripts/genCache.py
scripts/pico-vscode.cmake
src/commands/switchBoard.mts
src/commands/switchSDK.mts
src/extension.mts
src/utils/cmakeUtil.mts
src/utils/githubREST.mts
src/utils/versionBundles.mts
src/utils/vscodeConfigUtil.mts
src/webview/newProjectPanel.mts
web/main.js

index f86d154c78e0869b3419528ff9c2f6a6fe653784..e329fa2f3b1404cb7a853962ad5cc54db496dd1a 100644 (file)
-{\r
-  "githubApiCache-0-0": [\r
-    "1.5.1",\r
-    "2.0.0"\r
-  ],\r
-  "githubApiCache-0-1-1.5.1": {\r
-    "assets": [\r
-      {\r
-        "id": 112935743,\r
-        "name": "sdk-1.5.1-html-doc.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk/releases/download/1.5.1/sdk-1.5.1-html-doc.zip"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk/releases/107707260/assets"\r
-  },\r
-  "githubApiCache-0-1-2.0.0": {\r
-    "assets": [\r
-      {\r
-        "id": 184711853,\r
-        "name": "pico-sdk-2.0.0.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk/releases/download/2.0.0/pico-sdk-2.0.0.tar.gz"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk/releases/169292056/assets"\r
-  },\r
-  "githubApiCache-1-0": [\r
-    "v3.28.6",\r
-    "v3.29.6"\r
-  ],\r
-  "githubApiCache-1-1-v3.28.6": {\r
-    "assets": [\r
-      {\r
-        "id": 171682637,\r
-        "name": "cmake-3.28.6-files-v1.json",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-files-v1.json"\r
-      },\r
-      {\r
-        "id": 171682639,\r
-        "name": "cmake-3.28.6-linux-aarch64.sh",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-aarch64.sh"\r
-      },\r
-      {\r
-        "id": 171682797,\r
-        "name": "cmake-3.28.6-linux-aarch64.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-aarch64.tar.gz"\r
-      },\r
-      {\r
-        "id": 171682872,\r
-        "name": "cmake-3.28.6-linux-x86_64.sh",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-x86_64.sh"\r
-      },\r
-      {\r
-        "id": 171682906,\r
-        "name": "cmake-3.28.6-linux-x86_64.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-x86_64.tar.gz"\r
-      },\r
-      {\r
-        "id": 171682946,\r
-        "name": "cmake-3.28.6-macos-universal.dmg",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos-universal.dmg"\r
-      },\r
-      {\r
-        "id": 171683083,\r
-        "name": "cmake-3.28.6-macos-universal.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos-universal.tar.gz"\r
-      },\r
-      {\r
-        "id": 171683266,\r
-        "name": "cmake-3.28.6-macos10.10-universal.dmg",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos10.10-universal.dmg"\r
-      },\r
-      {\r
-        "id": 171683323,\r
-        "name": "cmake-3.28.6-macos10.10-universal.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos10.10-universal.tar.gz"\r
-      },\r
-      {\r
-        "id": 171683404,\r
-        "name": "cmake-3.28.6-SHA-256.txt",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-SHA-256.txt"\r
-      },\r
-      {\r
-        "id": 171683405,\r
-        "name": "cmake-3.28.6-SHA-256.txt.asc",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-SHA-256.txt.asc"\r
-      },\r
-      {\r
-        "id": 171683406,\r
-        "name": "cmake-3.28.6-windows-arm64.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-arm64.msi"\r
-      },\r
-      {\r
-        "id": 171683440,\r
-        "name": "cmake-3.28.6-windows-arm64.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-arm64.zip"\r
-      },\r
-      {\r
-        "id": 171683535,\r
-        "name": "cmake-3.28.6-windows-i386.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-i386.msi"\r
-      },\r
-      {\r
-        "id": 171683624,\r
-        "name": "cmake-3.28.6-windows-i386.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-i386.zip"\r
-      },\r
-      {\r
-        "id": 171683745,\r
-        "name": "cmake-3.28.6-windows-x86_64.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-x86_64.msi"\r
-      },\r
-      {\r
-        "id": 171683767,\r
-        "name": "cmake-3.28.6-windows-x86_64.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-x86_64.zip"\r
-      },\r
-      {\r
-        "id": 171683790,\r
-        "name": "cmake-3.28.6.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6.tar.gz"\r
-      },\r
-      {\r
-        "id": 171683796,\r
-        "name": "cmake-3.28.6.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6.zip"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/Kitware/CMake/releases/158667625/assets"\r
-  },\r
-  "githubApiCache-1-1-v3.29.6": {\r
-    "assets": [\r
-      {\r
-        "id": 174341995,\r
-        "name": "cmake-3.29.6-files-v1.json",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-files-v1.json"\r
-      },\r
-      {\r
-        "id": 174341999,\r
-        "name": "cmake-3.29.6-linux-aarch64.sh",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-aarch64.sh"\r
-      },\r
-      {\r
-        "id": 174342062,\r
-        "name": "cmake-3.29.6-linux-aarch64.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-aarch64.tar.gz"\r
-      },\r
-      {\r
-        "id": 174342111,\r
-        "name": "cmake-3.29.6-linux-x86_64.sh",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.sh"\r
-      },\r
-      {\r
-        "id": 174347312,\r
-        "name": "cmake-3.29.6-linux-x86_64.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.tar.gz"\r
-      },\r
-      {\r
-        "id": 174342299,\r
-        "name": "cmake-3.29.6-macos-universal.dmg",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos-universal.dmg"\r
-      },\r
-      {\r
-        "id": 174342411,\r
-        "name": "cmake-3.29.6-macos-universal.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos-universal.tar.gz"\r
-      },\r
-      {\r
-        "id": 174342498,\r
-        "name": "cmake-3.29.6-macos10.10-universal.dmg",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos10.10-universal.dmg"\r
-      },\r
-      {\r
-        "id": 174342661,\r
-        "name": "cmake-3.29.6-macos10.10-universal.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos10.10-universal.tar.gz"\r
-      },\r
-      {\r
-        "id": 174342833,\r
-        "name": "cmake-3.29.6-SHA-256.txt",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-SHA-256.txt"\r
-      },\r
-      {\r
-        "id": 174342839,\r
-        "name": "cmake-3.29.6-SHA-256.txt.asc",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-SHA-256.txt.asc"\r
-      },\r
-      {\r
-        "id": 174342841,\r
-        "name": "cmake-3.29.6-windows-arm64.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-arm64.msi"\r
-      },\r
-      {\r
-        "id": 174342900,\r
-        "name": "cmake-3.29.6-windows-arm64.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-arm64.zip"\r
-      },\r
-      {\r
-        "id": 174342965,\r
-        "name": "cmake-3.29.6-windows-i386.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-i386.msi"\r
-      },\r
-      {\r
-        "id": 174342982,\r
-        "name": "cmake-3.29.6-windows-i386.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-i386.zip"\r
-      },\r
-      {\r
-        "id": 174343004,\r
-        "name": "cmake-3.29.6-windows-x86_64.msi",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-x86_64.msi"\r
-      },\r
-      {\r
-        "id": 174343044,\r
-        "name": "cmake-3.29.6-windows-x86_64.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-x86_64.zip"\r
-      },\r
-      {\r
-        "id": 174343086,\r
-        "name": "cmake-3.29.6.tar.gz",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6.tar.gz"\r
-      },\r
-      {\r
-        "id": 174343102,\r
-        "name": "cmake-3.29.6.zip",\r
-        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6.zip"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/Kitware/CMake/releases/160931478/assets"\r
-  },\r
-  "githubApiCache-2-0": [\r
-    "v1.12.1"\r
-  ],\r
-  "githubApiCache-2-1-v1.12.1": {\r
-    "assets": [\r
-      {\r
-        "id": 167333823,\r
-        "name": "ninja-linux-aarch64.zip",\r
-        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip"\r
-      },\r
-      {\r
-        "id": 167333509,\r
-        "name": "ninja-linux.zip",\r
-        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip"\r
-      },\r
-      {\r
-        "id": 167333196,\r
-        "name": "ninja-mac.zip",\r
-        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip"\r
-      },\r
-      {\r
-        "id": 167333379,\r
-        "name": "ninja-win.zip",\r
-        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip"\r
-      },\r
-      {\r
-        "id": 167333478,\r
-        "name": "ninja-winarm64.zip",\r
-        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-winarm64.zip"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/ninja-build/ninja/releases/155357494/assets"\r
-  },\r
-  "githubApiCache-3-0": [\r
-    "v1.5.1-0",\r
-    "v2.0.0-0"\r
-  ],\r
-  "githubApiCache-3-1-v1.5.1-0": {\r
-    "assets": [\r
-      {\r
-        "id": 184737292,\r
-        "name": "openocd-0.12.0+dev-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-aarch64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184736619,\r
-        "name": "openocd-0.12.0+dev-arm64-mac.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-arm64-mac.zip"\r
-      },\r
-      {\r
-        "id": 184739207,\r
-        "name": "openocd-0.12.0+dev-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184736698,\r
-        "name": "openocd-0.12.0+dev-x86_64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-x86_64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184739206,\r
-        "name": "pico-sdk-tools-1.5.1-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/pico-sdk-tools-1.5.1-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184737290,\r
-        "name": "picotool-2.0.0-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-aarch64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184736618,\r
-        "name": "picotool-2.0.0-mac.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-mac.zip"\r
-      },\r
-      {\r
-        "id": 184739208,\r
-        "name": "picotool-2.0.0-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184736697,\r
-        "name": "picotool-2.0.0-x86_64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-x86_64-lin.tar.gz"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk-tools/releases/169373034/assets"\r
-  },\r
-  "githubApiCache-3-1-v2.0.0-0": {\r
-    "assets": [\r
-      {\r
-        "id": 184711252,\r
-        "name": "openocd-0.12.0+dev-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-aarch64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184710255,\r
-        "name": "openocd-0.12.0+dev-arm64-mac.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-arm64-mac.zip"\r
-      },\r
-      {\r
-        "id": 184711712,\r
-        "name": "openocd-0.12.0+dev-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184709989,\r
-        "name": "openocd-0.12.0+dev-x86_64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-x86_64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184711250,\r
-        "name": "pico-sdk-tools-2.0.0-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-aarch64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184710252,\r
-        "name": "pico-sdk-tools-2.0.0-mac.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-mac.zip"\r
-      },\r
-      {\r
-        "id": 184711713,\r
-        "name": "pico-sdk-tools-2.0.0-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184709990,\r
-        "name": "pico-sdk-tools-2.0.0-x86_64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-x86_64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184711251,\r
-        "name": "picotool-2.0.0-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-aarch64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184710253,\r
-        "name": "picotool-2.0.0-mac.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-mac.zip"\r
-      },\r
-      {\r
-        "id": 184711714,\r
-        "name": "picotool-2.0.0-x64-win.zip",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-x64-win.zip"\r
-      },\r
-      {\r
-        "id": 184709988,\r
-        "name": "picotool-2.0.0-x86_64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-x86_64-lin.tar.gz"\r
-      },\r
-      {\r
-        "id": 184716562,\r
-        "name": "riscv-toolchain-14-aarch64-lin.tar.gz",\r
-        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/riscv-toolchain-14-aarch64-lin.tar.gz"\r
-      }\r
-    ],\r
-    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk-tools/releases/169351844/assets"\r
-  }\r
-}\r
\ No newline at end of file
+{
+  "githubApiCache-0-0": [
+    "1.5.1",
+    "2.0.0"
+  ],
+  "githubApiCache-0-1-1.5.1": {
+    "assets": [
+      {
+        "id": 112935743,
+        "name": "sdk-1.5.1-html-doc.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk/releases/download/1.5.1/sdk-1.5.1-html-doc.zip"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk/releases/107707260/assets"
+  },
+  "githubApiCache-0-1-2.0.0": {
+    "assets": [
+      {
+        "id": 184711853,
+        "name": "pico-sdk-2.0.0.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk/releases/download/2.0.0/pico-sdk-2.0.0.tar.gz"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk/releases/169292056/assets"
+  },
+  "githubApiCache-1-0": [
+    "v3.28.6",
+    "v3.29.6"
+  ],
+  "githubApiCache-1-1-v3.28.6": {
+    "assets": [
+      {
+        "id": 171682637,
+        "name": "cmake-3.28.6-files-v1.json",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-files-v1.json"
+      },
+      {
+        "id": 171682639,
+        "name": "cmake-3.28.6-linux-aarch64.sh",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-aarch64.sh"
+      },
+      {
+        "id": 171682797,
+        "name": "cmake-3.28.6-linux-aarch64.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-aarch64.tar.gz"
+      },
+      {
+        "id": 171682872,
+        "name": "cmake-3.28.6-linux-x86_64.sh",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-x86_64.sh"
+      },
+      {
+        "id": 171682906,
+        "name": "cmake-3.28.6-linux-x86_64.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-x86_64.tar.gz"
+      },
+      {
+        "id": 171682946,
+        "name": "cmake-3.28.6-macos-universal.dmg",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos-universal.dmg"
+      },
+      {
+        "id": 171683083,
+        "name": "cmake-3.28.6-macos-universal.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos-universal.tar.gz"
+      },
+      {
+        "id": 171683266,
+        "name": "cmake-3.28.6-macos10.10-universal.dmg",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos10.10-universal.dmg"
+      },
+      {
+        "id": 171683323,
+        "name": "cmake-3.28.6-macos10.10-universal.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-macos10.10-universal.tar.gz"
+      },
+      {
+        "id": 171683404,
+        "name": "cmake-3.28.6-SHA-256.txt",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-SHA-256.txt"
+      },
+      {
+        "id": 171683405,
+        "name": "cmake-3.28.6-SHA-256.txt.asc",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-SHA-256.txt.asc"
+      },
+      {
+        "id": 171683406,
+        "name": "cmake-3.28.6-windows-arm64.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-arm64.msi"
+      },
+      {
+        "id": 171683440,
+        "name": "cmake-3.28.6-windows-arm64.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-arm64.zip"
+      },
+      {
+        "id": 171683535,
+        "name": "cmake-3.28.6-windows-i386.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-i386.msi"
+      },
+      {
+        "id": 171683624,
+        "name": "cmake-3.28.6-windows-i386.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-i386.zip"
+      },
+      {
+        "id": 171683745,
+        "name": "cmake-3.28.6-windows-x86_64.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-x86_64.msi"
+      },
+      {
+        "id": 171683767,
+        "name": "cmake-3.28.6-windows-x86_64.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-windows-x86_64.zip"
+      },
+      {
+        "id": 171683790,
+        "name": "cmake-3.28.6.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6.tar.gz"
+      },
+      {
+        "id": 171683796,
+        "name": "cmake-3.28.6.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6.zip"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/Kitware/CMake/releases/158667625/assets"
+  },
+  "githubApiCache-1-1-v3.29.6": {
+    "assets": [
+      {
+        "id": 174341995,
+        "name": "cmake-3.29.6-files-v1.json",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-files-v1.json"
+      },
+      {
+        "id": 174341999,
+        "name": "cmake-3.29.6-linux-aarch64.sh",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-aarch64.sh"
+      },
+      {
+        "id": 174342062,
+        "name": "cmake-3.29.6-linux-aarch64.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-aarch64.tar.gz"
+      },
+      {
+        "id": 174342111,
+        "name": "cmake-3.29.6-linux-x86_64.sh",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.sh"
+      },
+      {
+        "id": 174347312,
+        "name": "cmake-3.29.6-linux-x86_64.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-linux-x86_64.tar.gz"
+      },
+      {
+        "id": 174342299,
+        "name": "cmake-3.29.6-macos-universal.dmg",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos-universal.dmg"
+      },
+      {
+        "id": 174342411,
+        "name": "cmake-3.29.6-macos-universal.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos-universal.tar.gz"
+      },
+      {
+        "id": 174342498,
+        "name": "cmake-3.29.6-macos10.10-universal.dmg",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos10.10-universal.dmg"
+      },
+      {
+        "id": 174342661,
+        "name": "cmake-3.29.6-macos10.10-universal.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-macos10.10-universal.tar.gz"
+      },
+      {
+        "id": 174342833,
+        "name": "cmake-3.29.6-SHA-256.txt",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-SHA-256.txt"
+      },
+      {
+        "id": 174342839,
+        "name": "cmake-3.29.6-SHA-256.txt.asc",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-SHA-256.txt.asc"
+      },
+      {
+        "id": 174342841,
+        "name": "cmake-3.29.6-windows-arm64.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-arm64.msi"
+      },
+      {
+        "id": 174342900,
+        "name": "cmake-3.29.6-windows-arm64.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-arm64.zip"
+      },
+      {
+        "id": 174342965,
+        "name": "cmake-3.29.6-windows-i386.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-i386.msi"
+      },
+      {
+        "id": 174342982,
+        "name": "cmake-3.29.6-windows-i386.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-i386.zip"
+      },
+      {
+        "id": 174343004,
+        "name": "cmake-3.29.6-windows-x86_64.msi",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-x86_64.msi"
+      },
+      {
+        "id": 174343044,
+        "name": "cmake-3.29.6-windows-x86_64.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6-windows-x86_64.zip"
+      },
+      {
+        "id": 174343086,
+        "name": "cmake-3.29.6.tar.gz",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6.tar.gz"
+      },
+      {
+        "id": 174343102,
+        "name": "cmake-3.29.6.zip",
+        "browser_download_url": "https://github.com/Kitware/CMake/releases/download/v3.29.6/cmake-3.29.6.zip"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/Kitware/CMake/releases/160931478/assets"
+  },
+  "githubApiCache-2-0": [
+    "v1.12.1"
+  ],
+  "githubApiCache-2-1-v1.12.1": {
+    "assets": [
+      {
+        "id": 167333823,
+        "name": "ninja-linux-aarch64.zip",
+        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip"
+      },
+      {
+        "id": 167333509,
+        "name": "ninja-linux.zip",
+        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip"
+      },
+      {
+        "id": 167333196,
+        "name": "ninja-mac.zip",
+        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip"
+      },
+      {
+        "id": 167333379,
+        "name": "ninja-win.zip",
+        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip"
+      },
+      {
+        "id": 167333478,
+        "name": "ninja-winarm64.zip",
+        "browser_download_url": "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-winarm64.zip"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/ninja-build/ninja/releases/155357494/assets"
+  },
+  "githubApiCache-3-0": [
+    "v1.5.1-0",
+    "v2.0.0-0"
+  ],
+  "githubApiCache-3-1-v1.5.1-0": {
+    "assets": [
+      {
+        "id": 184737292,
+        "name": "openocd-0.12.0+dev-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-aarch64-lin.tar.gz"
+      },
+      {
+        "id": 184736619,
+        "name": "openocd-0.12.0+dev-arm64-mac.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-arm64-mac.zip"
+      },
+      {
+        "id": 184739207,
+        "name": "openocd-0.12.0+dev-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-x64-win.zip"
+      },
+      {
+        "id": 184736698,
+        "name": "openocd-0.12.0+dev-x86_64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/openocd-0.12.0%2Bdev-x86_64-lin.tar.gz"
+      },
+      {
+        "id": 184739206,
+        "name": "pico-sdk-tools-1.5.1-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/pico-sdk-tools-1.5.1-x64-win.zip"
+      },
+      {
+        "id": 184737290,
+        "name": "picotool-2.0.0-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-aarch64-lin.tar.gz"
+      },
+      {
+        "id": 184736618,
+        "name": "picotool-2.0.0-mac.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-mac.zip"
+      },
+      {
+        "id": 184739208,
+        "name": "picotool-2.0.0-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-x64-win.zip"
+      },
+      {
+        "id": 184736697,
+        "name": "picotool-2.0.0-x86_64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v1.5.1-0/picotool-2.0.0-x86_64-lin.tar.gz"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk-tools/releases/169373034/assets"
+  },
+  "githubApiCache-3-1-v2.0.0-0": {
+    "assets": [
+      {
+        "id": 184711252,
+        "name": "openocd-0.12.0+dev-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-aarch64-lin.tar.gz"
+      },
+      {
+        "id": 184710255,
+        "name": "openocd-0.12.0+dev-arm64-mac.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-arm64-mac.zip"
+      },
+      {
+        "id": 184711712,
+        "name": "openocd-0.12.0+dev-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-x64-win.zip"
+      },
+      {
+        "id": 184709989,
+        "name": "openocd-0.12.0+dev-x86_64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/openocd-0.12.0%2Bdev-x86_64-lin.tar.gz"
+      },
+      {
+        "id": 184711250,
+        "name": "pico-sdk-tools-2.0.0-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-aarch64-lin.tar.gz"
+      },
+      {
+        "id": 184710252,
+        "name": "pico-sdk-tools-2.0.0-mac.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-mac.zip"
+      },
+      {
+        "id": 184711713,
+        "name": "pico-sdk-tools-2.0.0-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-x64-win.zip"
+      },
+      {
+        "id": 184709990,
+        "name": "pico-sdk-tools-2.0.0-x86_64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/pico-sdk-tools-2.0.0-x86_64-lin.tar.gz"
+      },
+      {
+        "id": 184711251,
+        "name": "picotool-2.0.0-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-aarch64-lin.tar.gz"
+      },
+      {
+        "id": 184710253,
+        "name": "picotool-2.0.0-mac.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-mac.zip"
+      },
+      {
+        "id": 184711714,
+        "name": "picotool-2.0.0-x64-win.zip",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-x64-win.zip"
+      },
+      {
+        "id": 184709988,
+        "name": "picotool-2.0.0-x86_64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/picotool-2.0.0-x86_64-lin.tar.gz"
+      },
+      {
+        "id": 184716562,
+        "name": "riscv-toolchain-14-aarch64-lin.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-0/riscv-toolchain-14-aarch64-lin.tar.gz"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/raspberrypi/pico-sdk-tools/releases/169351844/assets"
+  },
+  "githubApiCache-4-0": [
+    "2.0.0"
+  ],
+  "githubApiCache-4-1-2.0.0": {
+    "assets": [
+      {
+        "id": 184690696,
+        "name": "picotool-2.0.0.tar.gz",
+        "browser_download_url": "https://github.com/raspberrypi/picotool/releases/download/2.0.0/picotool-2.0.0.tar.gz"
+      }
+    ],
+    "assetsUrl": "https://api.github.com/repos/raspberrypi/picotool/releases/169321961/assets"
+  }
+}
\ No newline at end of file
index 6eaaadb14951675fb626b062f7237882538a4f2f..bc2ee845c00a9329d421815d1b1916541db227ef 100644 (file)
@@ -4,6 +4,12 @@ darwin_arm64 = https://armkeil.blob.core.windows.net/developer/Files/downloads/g
 darwin_x64 = https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-x86_64-arm-none-eabi.tar.xz
 linux_x64 = https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz
 linux_arm64 = https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-aarch64-arm-none-eabi.tar.xz
+[RISCV_RPI_2_0_0_1]
+win32_x64 = https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-1/riscv-toolchain-14-x64-win.zip
+darwin_arm64 = https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-1/riscv-toolchain-14-arm64-mac.zip
+darwin_x64 = https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-1/riscv-toolchain-14-x64-mac.zip
+linux_x64 = https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-1/riscv-toolchain-14-x86_64-lin.tar.gz
+linux_arm64 = https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.0.0-1/riscv-toolchain-14-aarch64-lin.tar.gz
 [RISCV_13_3]
 win32_x64 = https://buildbot.embecosm.com/job/riscv32-gcc-win64-release/24/artifact/riscv32-embecosm-win64-gcc13.2.0.zip
 darwin_arm64 = https://buildbot.embecosm.com/job/riscv32-gcc-macos-arm64-release/10/artifact/riscv32-embecosm-macos-gcc13.3.0.zip
index e7f8853fcff9ece69f443a8cedec6200df60789f..4c84f4742b29a03db7c8f7260ac6be48d0483bee 100644 (file)
@@ -7,6 +7,7 @@
     },
     "ninja": "v1.12.1",
     "cmake": "v3.28.6",
+    "picotool": "2.0.0",
     "toolchain": "12_3_Rel1",
     "riscvToolchain": "NONE"
   },
@@ -18,6 +19,7 @@
     },
     "ninja": "v1.12.1",
     "cmake": "v3.28.6",
+    "picotool": "2.0.0",
     "toolchain": "13_2_Rel1",
     "riscvToolchain": "NONE"
   },
@@ -29,7 +31,8 @@
     },
     "ninja": "v1.12.1",
     "cmake": "v3.28.6",
+    "picotool": "2.0.0",
     "toolchain": "13_2_Rel1",
-    "riscvToolchain": "RISCV_COREV_MAY_24"
+    "riscvToolchain": "RISCV_RPI_2_0_0_1"
   }
 }
index b93afb0d7260442a8de2dc1da322dd36c585ac41..a341e157b7d1557d2679156d82c98457ed92c4ef 100644 (file)
@@ -41,7 +41,7 @@ num_repos = 0
 for _ in stuff.GithubRepository:
     num_repos += 0.5
 num_repos = int(num_repos)
-assert num_repos == 4
+assert num_repos == 5
 print("Num repos", num_repos)
 
 
@@ -51,6 +51,7 @@ versions = [
     ["v3.28.6", "v3.29.6"],
     ["v1.12.1"],
     ["v1.5.1-0", "v2.0.0-0"],
+    ["2.0.0"]
 ]
 
 headers = {
index ec5c7c5bb042636c6b0818adda0161d07e9c7dc6..482d7a62a845963ce885efe7537993902f9a1a9a 100644 (file)
@@ -18,8 +18,5 @@ else()
     endif()
     if(PICO_TOOLCHAIN_PATH MATCHES "RISCV")
         set(PICO_PLATFORM rp2350-riscv CACHE STRING "Pico Platform")
-        if(PICO_TOOLCHAIN_PATH MATCHES "COREV")
-            set(PICO_COMPILER pico_riscv_gcc_zcb_zcmp)
-        endif()
     endif()
 endif()
index b4040e4c60988ae62d1661d6b4d1561228a21282..717805d8bbfecec214b24264e4001d53205491fb 100644 (file)
@@ -126,10 +126,7 @@ export default class SwitchBoardCommand extends Command {
     }
 
     const armToolchain = versionBundle?.toolchain;
-    let riscvToolchain = versionBundle?.riscvToolchain;
-    if (process.platform === "linux" && process.arch === "arm64") {
-      riscvToolchain = "RISCV_RPI";
-    }
+    const riscvToolchain = versionBundle?.riscvToolchain;
 
     const chosenToolchainVersion = useRiscV ? riscvToolchain : armToolchain;
 
@@ -183,6 +180,7 @@ export default class SwitchBoardCommand extends Command {
               workspaceFolder.uri,
               versions[0],
               selectedToolchain.version,
+              versions[2],
               false
             );
             progress.report({
index 090c9ad1c9a8ad498386e2fb5d30fa6f14b8aff0..50a61610d3e259ac03c4685ca7a0efe4b85c259c 100644 (file)
@@ -326,6 +326,8 @@ export default class SwitchSDKCommand extends Command {
       selectedSDK.label.replace("v", "")
     );
 
+    const selectedPicotool = versionBundle?.picotool;
+
     const configureAdvancedOptions = await window.showQuickPick(["No", "Yes"], {
       title: "Switch Tools",
       placeHolder: "Configure advanced options?",
@@ -445,7 +447,8 @@ export default class SwitchSDKCommand extends Command {
             const cmakeUpdateResult = await cmakeUpdateSDK(
               workspaceFolder.uri,
               selectedSDK.sdk,
-              selectedToolchain.toolchain.version
+              selectedToolchain.toolchain.version,
+              selectedPicotool ?? "2.0.0"
             );
 
             if (!cmakeUpdateResult) {
index 3736a585dde009754adb746d7e39b758ef21db3a..633e53a1cce3a76c575d6f228e42a963b3d4aebf 100644 (file)
@@ -15,6 +15,7 @@ import {
 import NewProjectCommand from "./commands/newProject.mjs";
 import Logger from "./logger.mjs";
 import {
+  CMAKE_DO_NOT_EDIT_HEADER_PREFIX,
   cmakeGetSelectedBoard,
   cmakeGetSelectedToolchainAndSDKVersions,
   configureCmakeNinja,
@@ -54,7 +55,6 @@ import { getSupportedToolchains } from "./utils/toolchainUtil.mjs";
 import {
   NewProjectPanel,
   getWebviewOptions,
-  picotoolVersion,
   openOCDVersion,
 } from "./webview/newProjectPanel.mjs";
 import GithubApiCache from "./utils/githubApiCache.mjs";
@@ -72,10 +72,6 @@ import { pyenvInstallPython, setupPyenv } from "./utils/pyenvUtil.mjs";
 import NewExampleProjectCommand from "./commands/newExampleProject.mjs";
 import SwitchBoardCommand from "./commands/switchBoard.mjs";
 
-export const CMAKE_DO_NOT_EDIT_HEADER_PREFIX =
-  // eslint-disable-next-line max-len
-  "== DO NEVER EDIT THE NEXT LINES for Raspberry Pi Pico VS Code Extension to work ==";
-
 export async function activate(context: ExtensionContext): Promise<void> {
   Logger.log("Extension activated.");
 
@@ -225,7 +221,7 @@ export async function activate(context: ExtensionContext): Promise<void> {
       SDK_REPOSITORY_URL
     )) ||
     !(await downloadAndInstallTools(selectedToolchainAndSDKVersions[0])) ||
-    !(await downloadAndInstallPicotool(picotoolVersion))
+    !(await downloadAndInstallPicotool(selectedToolchainAndSDKVersions[2]))
   ) {
     Logger.log(
       "Failed to install project SDK " +
index 97d31e7d30b30bd1f42e28945caf2a18288306f8..a1e4e8843500a6641b8d2610ec194f86c5f538ea 100644 (file)
@@ -11,10 +11,12 @@ import { rimraf, windows as rimrafWindows } from "rimraf";
 import { homedir } from "os";
 import which from "which";
 import { compareLtMajor } from "./semverUtil.mjs";
-import { picotoolVersion } from "../webview/newProjectPanel.mjs";
-import { CMAKE_DO_NOT_EDIT_HEADER_PREFIX } from "../extension.mjs";
 import { buildCMakeIncPath } from "./download.mjs";
 
+export const CMAKE_DO_NOT_EDIT_HEADER_PREFIX =
+  // eslint-disable-next-line max-len
+  "== DO NEVER EDIT THE NEXT LINES for Raspberry Pi Pico VS Code Extension to work ==";
+
 export async function getPythonPath(): Promise<string> {
   const settings = Settings.getInstance();
   if (settings === undefined) {
@@ -304,6 +306,7 @@ export async function cmakeUpdateSDK(
   folder: Uri,
   newSDKVersion: string,
   newToolchainVersion: string,
+  newPicotoolVersion: string,
   reconfigure: boolean = true
 ): Promise<boolean> {
   // TODO: support for scaning for seperate locations of the CMakeLists.txt file in the project
@@ -337,7 +340,7 @@ export async function cmakeUpdateSDK(
         "endif()\n" +
         `set(sdkVersion ${newSDKVersion})\n` +
         `set(toolchainVersion ${newToolchainVersion})\n` +
-        `set(picotoolVersion ${picotoolVersion})\n` +
+        `set(picotoolVersion ${newPicotoolVersion})\n` +
         `include(${buildCMakeIncPath(false)}/pico-vscode.cmake)\n` +
         // eslint-disable-next-line max-len
         "# ===================================================================================="
@@ -399,7 +402,7 @@ export async function cmakeUpdateSDK(
  * Extracts the sdk and toolchain versions from the CMakeLists.txt file.
  *
  * @param cmakeFilePath The path to the CMakeLists.txt file.
- * @returns An tupple with the [sdk, toolchain] versions or null if the file could not
+ * @returns An tupple with the [sdk, toolchain, picotool] versions or null if the file could not
  * be read or the versions could not be extracted.
  */
 export async function cmakeGetSelectedToolchainAndSDKVersions(
@@ -437,10 +440,12 @@ export async function cmakeGetSelectedToolchainAndSDKVersions(
     }
 
     Logger.log("Updating extension lines in CMake file");
-    await cmakeUpdateSDK(folder, versionMatch[1], versionMatch2[1]);
+    await cmakeUpdateSDK(
+      folder, versionMatch[1], versionMatch2[1], versionMatch[1]
+    );
     Logger.log("Extension lines updated");
 
-    return [versionMatch[1], versionMatch2[1], picotoolVersion];
+    return [versionMatch[1], versionMatch2[1], versionMatch[1]];
   } else {
     return null;
   }
index 509f0a2ca95859e8c60aa585fb5d9bec29205c1f..1a4543a43035f2f67f142feb93ce58770149b2a5 100644 (file)
@@ -16,6 +16,7 @@ export enum GithubRepository {
   cmake = 1,
   ninja = 2,
   tools = 3,
+  picotool = 4,
 }
 
 export type GithubReleaseResponse = {
@@ -46,6 +47,8 @@ export function ownerOfRepository(repository: GithubRepository): string {
       return "ninja-build";
     case GithubRepository.tools:
       return "raspberrypi";
+    case GithubRepository.picotool:
+      return "raspberrypi"
   }
 }
 
@@ -59,6 +62,8 @@ export function repoNameOfRepository(repository: GithubRepository): string {
       return "ninja";
     case GithubRepository.tools:
       return "pico-sdk-tools";
+    case GithubRepository.picotool:
+      return "picotool"
   }
 }
 
@@ -211,6 +216,10 @@ export async function getSDKReleases(): Promise<string[]> {
   return getReleases(GithubRepository.picoSDK);
 }
 
+export async function getPicotoolReleases(): Promise<string[]> {
+  return getReleases(GithubRepository.picotool);
+}
+
 export async function getNinjaReleases(): Promise<string[]> {
   return getReleases(GithubRepository.ninja);
 }
index c537750eff0e89f8fd2ed029a3cc03b01febe585..b0d2a41d10fdcab8dea70ca056bfd381034db47c 100644 (file)
@@ -19,6 +19,7 @@ export interface VersionBundle {
   };
   ninja: string;
   cmake: string;
+  picotool: string;
   toolchain: string;
   riscvToolchain: string;
 }
index db6dae2d68465ef1077002a2d44f0a1744cd939c..9f0e545015068e5b000a507f8c12af7320acfd42 100644 (file)
@@ -52,11 +52,11 @@ async function updateCppPropertiesFile(
       config.compilerPath =
         "${userHome}/.pico-sdk/toolchain" +
         `/${newToolchainVersion}/bin/${
-          // "arm-none-eabi-gcc" should work on all platforms no need for extension on Windows
-          /*process.platform === "win32"
-          ? "arm-none-eabi-gcc.exe"
-          : "arm-none-eabi-gcc"*/
-          "arm-none-eabi-gcc"
+          newToolchainVersion.includes("RISCV")
+            ? newToolchainVersion.includes("COREV")
+              ? "riscv32-corev-elf-gcc"
+              : "riscv32-unknown-elf-gcc"
+            : "arm-none-eabi-gcc"
         }`;
     });
 
index 55b345d03da64b583d3c323c29bb42410f8f063e..819b24920c0954185708e9ad5e5bbea8ea5ac010 100644 (file)
@@ -28,6 +28,7 @@ import {
   SDK_REPOSITORY_URL,
   getCmakeReleases,
   getNinjaReleases,
+  getPicotoolReleases,
   getSDKReleases,
 } from "../utils/githubREST.mjs";
 import {
@@ -63,12 +64,12 @@ import {
 export const NINJA_AUTO_INSTALL_DISABLED = false;
 // process.platform === "linux" && process.arch === "arm64";
 
-export const picotoolVersion = "2.0.0";
 export const openOCDVersion = "0.12.0+dev";
 
 interface ImportProjectMessageValue {
   selectedSDK: string;
   selectedToolchain: string;
+  selectedPicotool: string;
   ninjaMode: number;
   ninjaPath: string;
   ninjaVersion: string;
@@ -495,10 +496,7 @@ export class NewProjectPanel {
                   message.value as string
                 );
               // change toolchain version on arm64 linux, as Core-V not available for that
-              let riscvToolchain = versionBundle?.riscvToolchain;
-              if (process.platform === "linux" && process.arch === "arm64") {
-                riscvToolchain = "RISCV_RPI";
-              }
+              const riscvToolchain = versionBundle?.riscvToolchain;
               // return result in message of command versionBundleAvailableTest
               await this._panel.webview.postMessage({
                 command: "versionBundleAvailableTest",
@@ -741,6 +739,7 @@ export class NewProjectPanel {
       const selectedToolchain = this._supportedToolchains?.find(
         tc => tc.version === data.selectedToolchain.replaceAll(".", "_")
       );
+      const selectedPicotool = data.selectedPicotool.slice(0);
 
       if (!selectedToolchain) {
         void window.showErrorMessage("Failed to find selected toolchain.");
@@ -857,7 +856,7 @@ export class NewProjectPanel {
             )) ||
             !(await downloadAndInstallToolchain(selectedToolchain)) ||
             !(await downloadAndInstallTools(selectedSDK)) ||
-            !(await downloadAndInstallPicotool(picotoolVersion))
+            !(await downloadAndInstallPicotool(selectedPicotool))
           ) {
             this._logger.error(
               `Failed to download and install toolchain and SDK.`
@@ -1086,7 +1085,7 @@ export class NewProjectPanel {
             toolchainPath: buildToolchainPath(selectedToolchain.version),
             sdkVersion: selectedSDK,
             sdkPath: buildSDKPath(selectedSDK),
-            picotoolVersion: picotoolVersion,
+            picotoolVersion: selectedPicotool,
             openOCDVersion: openOCDVersion,
           },
           ninjaExecutable,
@@ -1110,7 +1109,7 @@ export class NewProjectPanel {
             toolchainPath: buildToolchainPath(selectedToolchain.version),
             sdkVersion: selectedSDK,
             sdkPath: buildSDKPath(selectedSDK),
-            picotoolVersion: picotoolVersion,
+            picotoolVersion: selectedPicotool,
             openOCDVersion: openOCDVersion,
           },
           ninjaExecutable,
@@ -1130,7 +1129,7 @@ export class NewProjectPanel {
             toolchainPath: buildToolchainPath(selectedToolchain.version),
             sdkVersion: selectedSDK,
             sdkPath: buildSDKPath(selectedSDK),
-            picotoolVersion: picotoolVersion,
+            picotoolVersion: selectedPicotool,
             openOCDVersion: openOCDVersion,
           },
           ninjaExecutable,
@@ -1243,6 +1242,7 @@ export class NewProjectPanel {
     // TODO: add offline handling - only load installed ones
     let toolchainsHtml = "";
     let picoSDKsHtml = "";
+    let picotoolsHtml = "";
     let ninjasHtml = "";
     let cmakesHtml = "";
 
@@ -1257,6 +1257,7 @@ export class NewProjectPanel {
       const supportedToolchains = await getSupportedToolchains();
       const ninjaReleases = await getNinjaReleases();
       const cmakeReleases = await getCmakeReleases();
+      const picotoolReleases = await getPicotoolReleases();
 
       if (availableSDKs.length === 0 || supportedToolchains.length === 0) {
         this._logger.error(
@@ -1282,6 +1283,14 @@ export class NewProjectPanel {
           }>v${sdk}</option>`;
         });
 
+      picotoolReleases
+        .sort((a, b) => compare(b, a))
+        .forEach(picotool => {
+          picotoolsHtml += `<option ${
+            picotoolsHtml.length === 0 ? "selected " : ""
+          }value="${picotool}">${picotool}</option>`;
+        });
+
       supportedToolchains.forEach(toolchain => {
         toolchainsHtml += `<option ${
           toolchainsHtml.length === 0 ? "selected " : ""
@@ -1608,6 +1617,12 @@ export class NewProjectPanel {
                             ${toolchainsHtml}
                         </select>
                       </div>
+                      <div hidden>
+                        <label for="sel-picotool" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Select picotool version</label>
+                        <select id="sel-picotool" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500">
+                            ${picotoolsHtml}
+                        </select>
+                      </div>
                     </div>
                     <div class="grid gap-6 md:grid-cols-${
                       process.platform === "darwin" ||
index c47fa16fa7ff26c50a60b8a1f18058f4f0f8e450..b09836aa5e55d37c961e376ada27de7acb808204 100644 (file)
@@ -106,6 +106,8 @@ var isPicoWireless = false;
     const selectedSDK = document.getElementById('sel-pico-sdk').value;
     // selected toolchain
     const selectedToolchain = document.getElementById('sel-toolchain').value;
+    // selected picotool
+    const selectedPicotool = document.getElementById('sel-picotool').value;
 
     // TODO: maybe move these duplicate sections for ninja, cmake and python into a generic helper function
 
@@ -276,6 +278,7 @@ var isPicoWireless = false;
         value: {
           selectedSDK: selectedSDK,
           selectedToolchain: selectedToolchain,
+          selectedPicotool: selectedPicotool,
           ninjaMode: Number(ninjaMode),
           ninjaPath: ninjaPath,
           ninjaVersion: ninjaVersion,
@@ -301,6 +304,7 @@ var isPicoWireless = false;
 
           selectedSDK: selectedSDK,
           selectedToolchain: selectedToolchain,
+          selectedPicotool: selectedPicotool,
           ninjaMode: Number(ninjaMode),
           ninjaPath: ninjaPath,
           ninjaVersion: ninjaVersion,
@@ -366,6 +370,7 @@ var isPicoWireless = false;
         boardType: boardType,
         selectedSDK: selectedSDK,
         selectedToolchain: selectedToolchain,
+        selectedPicotool: selectedPicotool,
         ninjaMode: Number(ninjaMode),
         ninjaPath: ninjaPath,
         ninjaVersion: ninjaVersion,
@@ -496,6 +501,18 @@ var isPicoWireless = false;
           }
         }
 
+        if (result.result && "picotoolVersion" in result) {
+          var picotoolSelector = document.getElementById("sel-picotool");
+          var selectedIndex = getIndexByValue(picotoolSelector, result.picotoolVersion);
+
+          if (selectedIndex !== -1) {
+            picotoolSelector.selectedIndex = selectedIndex;
+            console.debug("Updated selected picotool with new default value", picotoolSelector.options[selectedIndex].value);
+          } else {
+            console.error("Could not find default picotool version in versionBundle response!");
+          }
+        }
+
         // get all radio buttons with the specified names and select the first non-disabled option for each if the currently selected option is disabled
         // TODO: move in a helper function
         var pythonRadioButtons = document.querySelectorAll('input[name="python-version-radio"]');
This page took 0.074419 seconds and 4 git commands to generate.