This is an automated email from the ASF dual-hosted git repository.

linguini pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 5a3b185c83a34fbef2f82255c14091fb9391fd68
Author: simbit18 <[email protected]>
AuthorDate: Tue Sep 30 18:53:05 2025 +0200

    boards/arm/rp2040: CMake added Raspberry Pi Pico W board
    
    - Added CMake build for Raspberry Pi Pico W
    
    - Renamed the linker files to be more consistent with other rp2040 boards.
    
    - Fix: The relative path of the file does not match the actual file
       - raspberrypi-pico-w-flash.ld
       - raspberrypi-pico-w-sram.ld
    
    Signed-off-by: simbit18 <[email protected]>
---
 .../arm/rp2040/raspberrypi-pico-w/CMakeLists.txt   | 40 ++++++++++++++++++++
 .../rp2040/raspberrypi-pico-w/scripts/Make.defs    |  4 +-
 ...i-pico-flash.ld => raspberrypi-pico-w-flash.ld} |  2 +-
 ...ypi-pico-sram.ld => raspberrypi-pico-w-sram.ld} |  2 +-
 .../rp2040/raspberrypi-pico-w/src/CMakeLists.txt   | 43 ++++++++++++++++++++++
 5 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/boards/arm/rp2040/raspberrypi-pico-w/CMakeLists.txt 
b/boards/arm/rp2040/raspberrypi-pico-w/CMakeLists.txt
new file mode 100644
index 00000000000..c5d71976c47
--- /dev/null
+++ b/boards/arm/rp2040/raspberrypi-pico-w/CMakeLists.txt
@@ -0,0 +1,40 @@
+# 
##############################################################################
+# boards/arm/rp2040/raspberrypi-pico-w/CMakeLists.txt
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more 
contributor
+# license agreements.  See the NOTICE file distributed with this work for
+# additional information regarding copyright ownership.  The ASF licenses this
+# file to you under the Apache License, Version 2.0 (the "License"); you may 
not
+# use this file except in compliance with the License.  You may obtain a copy 
of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+# 
##############################################################################
+
+add_subdirectory(src)
+
+add_custom_target(
+  nuttx_post_build
+  DEPENDS nuttx
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+  COMMENT "Regenerate nuttx.uf2")
+
+# The uf2 command to convert ELF/BIN to UF2
+add_custom_command(
+  TARGET nuttx_post_build
+  POST_BUILD
+  COMMAND picotool ARGS uf2 convert --quiet -t elf nuttx nuttx.uf2
+  COMMAND_EXPAND_LISTS
+  COMMAND ${CMAKE_COMMAND} -E echo "nuttx.uf2" >>
+          ${CMAKE_BINARY_DIR}/nuttx.manifest
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+  COMMENT "Regenerate nuttx.uf2")
diff --git a/boards/arm/rp2040/raspberrypi-pico-w/scripts/Make.defs 
b/boards/arm/rp2040/raspberrypi-pico-w/scripts/Make.defs
index 6d44b629cc7..4a51e456d88 100644
--- a/boards/arm/rp2040/raspberrypi-pico-w/scripts/Make.defs
+++ b/boards/arm/rp2040/raspberrypi-pico-w/scripts/Make.defs
@@ -26,9 +26,9 @@ include $(TOPDIR)/tools/rp2040/Config.mk
 include $(TOPDIR)/arch/arm/src/armv6-m/Toolchain.defs
 
 ifeq ($(CONFIG_RP2040_FLASH_BOOT),y)
-  LDSCRIPT = raspberrypi-pico-flash.ld
+  LDSCRIPT = raspberrypi-pico-w-flash.ld
 else
-  LDSCRIPT = raspberrypi-pico-sram.ld
+  LDSCRIPT = raspberrypi-pico-w-sram.ld
 endif
 
 ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)
diff --git 
a/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-flash.ld 
b/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-flash.ld
similarity index 97%
rename from 
boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-flash.ld
rename to 
boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-flash.ld
index 7e9066a3947..ae8b9db30ed 100644
--- a/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-flash.ld
+++ b/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-flash.ld
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/rp2040/raspberrypi-pico/scripts/raspberrypi-pico-flash.ld
+ * boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-flash.ld
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git 
a/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-sram.ld 
b/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-sram.ld
similarity index 97%
rename from 
boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-sram.ld
rename to 
boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-sram.ld
index 3e463f02463..976620410aa 100644
--- a/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-sram.ld
+++ b/boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-sram.ld
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/rp2040/raspberrypi-pico/scripts/raspberrypi-pico-sram.ld
+ * boards/arm/rp2040/raspberrypi-pico-w/scripts/raspberrypi-pico-w-sram.ld
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/rp2040/raspberrypi-pico-w/src/CMakeLists.txt 
b/boards/arm/rp2040/raspberrypi-pico-w/src/CMakeLists.txt
new file mode 100644
index 00000000000..e0d3c69767d
--- /dev/null
+++ b/boards/arm/rp2040/raspberrypi-pico-w/src/CMakeLists.txt
@@ -0,0 +1,43 @@
+# 
##############################################################################
+# boards/arm/rp2040/raspberrypi-pico-w/src/CMakeLists.txt
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more 
contributor
+# license agreements.  See the NOTICE file distributed with this work for
+# additional information regarding copyright ownership.  The ASF licenses this
+# file to you under the Apache License, Version 2.0 (the "License"); you may 
not
+# use this file except in compliance with the License.  You may obtain a copy 
of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+# 
##############################################################################
+
+set(SRCS rp2040_boardinitialize.c rp2040_bringup.c)
+
+if(CONFIG_DEV_GPIO)
+  list(APPEND SRCS rp2040_gpio.c)
+endif()
+
+if(CONFIG_BOARDCTL)
+  list(APPEND SRCS rp2040_appinit.c)
+endif()
+
+target_sources(board PRIVATE ${SRCS})
+
+if(CONFIG_RP2040_FLASH_BOOT)
+  set_property(
+    GLOBAL PROPERTY LD_SCRIPT
+                    "${NUTTX_BOARD_DIR}/scripts/raspberrypi-pico-w-flash.ld")
+else()
+  set_property(
+    GLOBAL PROPERTY LD_SCRIPT
+                    "${NUTTX_BOARD_DIR}/scripts/raspberrypi-pico-w-sram.ld")
+endif()

Reply via email to