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()
