This is an automated email from the ASF dual-hosted git repository.
acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 206d031bd55 tools/ci: Added CMake build for Raspberry Pi Pico on
Windows Native
206d031bd55 is described below
commit 206d031bd55835fa9b567a263f015040e2de17ca
Author: simbit18 <[email protected]>
AuthorDate: Mon Sep 8 15:51:43 2025 +0200
tools/ci: Added CMake build for Raspberry Pi Pico on Windows Native
ci/platforms/windows.ps1 added:
- pre-built picotool
- pico-sdk
testlist/windows.dat:
- Added the entry CMake,raspberrypi-pico:nsh
Signed-off-by: simbit18 <[email protected]>
---
tools/ci/platforms/windows.ps1 | 47 +++++++++++++++++++++++++++++++++++++++++-
tools/ci/testlist/windows.dat | 3 +++
2 files changed, 49 insertions(+), 1 deletion(-)
diff --git a/tools/ci/platforms/windows.ps1 b/tools/ci/platforms/windows.ps1
index f53a9e79dc1..4b2a2620d3f 100644
--- a/tools/ci/platforms/windows.ps1
+++ b/tools/ci/platforms/windows.ps1
@@ -223,6 +223,51 @@ function ninja_tool {
Write-Host ""
}
+function pico_sdk {
+ Write-Host "Check pico-sdk ..." -ForegroundColor Green
+ add_path "$NUTTXTOOLS\pico-sdk"
+ try {
+ if (-not (Test-Path -Path "$NUTTXTOOLS\pico-sdk\pico_sdk_init.cmake")) {
+ Write-Host "Download: pico-sdk package" -ForegroundColor Green
+ # Download the file
+ $basefile = "2.2.0"
+ Set-Location "$NUTTXTOOLS"
+ # Download pico-sdk
+ Invoke-WebRequest -Uri
"https://github.com/raspberrypi/pico-sdk/archive/refs/tags/$basefile.zip"
-OutFile "$NUTTXTOOLS\$basefile.zip" -ErrorAction Stop
+ Expand-Archive "$NUTTXTOOLS\$basefile.zip"
+ Move-Item -Path "$basefile\pico-sdk-2.2.0" -Destination "pico-sdk"
+ Remove-Item "$basefile*" -Force
+ # Configuring the PATH environment variable
+ $env:PICO_SDK_PATH = "$NUTTXTOOLS\pico-sdk"
+ Add-Content -Path "$NUTTXTOOLS\env.ps1" -Value
"PICO_SDK_PATH=$NUTTXTOOLS\pico-sdk"
+ Write-Host "File downloaded successfully to pico-sdk"
+ }
+ }
+ catch {
+ Write-Error "Failed to download the file: $_"
+ }
+}
+
+function pico_tool {
+ Write-Host "Check picotool ..." -ForegroundColor Green
+ if (run_command("picotool") -ne 0) {
+ add_path "$NUTTXTOOLS\picotool"
+ if ($null -eq (Get-Command picotool -ErrorAction SilentlyContinue)) {
+ Write-Host "Download: picotool package" -ForegroundColor Green
+ # Download the file
+ $basefile = "picotool-2.2.0-x64-win"
+ Set-Location "$NUTTXTOOLS"
+ # Download tool picotool
+ Invoke-WebRequest -Uri
"https://github.com/raspberrypi/pico-sdk-tools/releases/download/v2.2.0-0/$basefile.zip"
-OutFile "$NUTTXTOOLS\$basefile.zip" -ErrorAction Stop
+ Expand-Archive "$NUTTXTOOLS\$basefile.zip"
+ Move-Item -Path "$basefile\picotool" -Destination "picotool"
+ Remove-Item "$basefile*" -Force -Recurse
+ }
+ }
+ picotool version
+ Write-Host ""
+}
+
function riscv_gcc_toolchain() {
Write-Host "Check RISCV GCC toolchain ..." -ForegroundColor Green
add_path "$NUTTXTOOLS\riscv-none-elf-gcc\bin"
@@ -292,7 +337,7 @@ function install_build_tools {
if (-not (Test-Path -Path "$NUTTXTOOLS\env.ps1")) {
add_envpath "$NUTTXTOOLS\env.ps1"
}
- $install = "arm_clang_toolchain arm_gcc_toolchain arm64_gcc_toolchain
riscv_gcc_toolchain cmake_tool kconfig_frontends ninja_tool"
+ $install = "arm_clang_toolchain arm_gcc_toolchain arm64_gcc_toolchain
riscv_gcc_toolchain pico_sdk pico_tool cmake_tool kconfig_frontends ninja_tool"
$splitArray = $install.Split(" ")
$oldpath = Get-Location
diff --git a/tools/ci/testlist/windows.dat b/tools/ci/testlist/windows.dat
index 6753394f6b7..8e75d39ca48 100644
--- a/tools/ci/testlist/windows.dat
+++ b/tools/ci/testlist/windows.dat
@@ -6,6 +6,8 @@
/arm/stm32/nucleo-f411re/configs/nsh,CONFIG_ARM_TOOLCHAIN_CLANG
+/arm/rp2040/raspberrypi-pico/configs/nsh,CONFIG_ARM_TOOLCHAIN_GNU_EABI
+
# ARM64
# /arm64/qemu/qemu-armv8a/configs/nsh_smp
@@ -22,5 +24,6 @@
CMake,nucleo-l152re:nsh
CMake,nucleo-f411re:nsh
+CMake,raspberrypi-pico:nsh
CMake,rv-virt:nsh
CMake,sim:windows