mirror of
https://github.com/raspberrypi/pico-sdk.git
synced 2025-08-07 17:02:52 +03:00
Propogate changed pico_cmake_set_default values to the compilation (#2034)
* Propogate non-default pico_cmake_set_default values through to compile definitions Add PICO_BOARD_CMAKE_OVERRIDES common scope variable, to contain any pico_cmake_set_default CMake variables which have been overwritten. This allows passing CMake arguments to the build, without needing extra target_compile_definitions. Also add pico_cmake_set_default PICO_RP2350_A2_SUPPORTED to enable/disable the E10 abs-block fix * Fix more board files missing pico_cmake_set_default PICO_RP2350_A2_SUPPORTED * Apply @lurch's patch to check_board_header.py
This commit is contained in:
@@ -26,6 +26,8 @@ if (EXISTS ${PICO_BOARD_HEADER_FILE})
|
|||||||
if (LINE MATCHES "^[ \t\]*//[ \t\]*pico_cmake_set_default[ \t\]*([a-zA-Z_][a-zA-Z0-9_]*)[ \t\]*=[ \t\]*(.*)")
|
if (LINE MATCHES "^[ \t\]*//[ \t\]*pico_cmake_set_default[ \t\]*([a-zA-Z_][a-zA-Z0-9_]*)[ \t\]*=[ \t\]*(.*)")
|
||||||
if (NOT DEFINED "${CMAKE_MATCH_1}")
|
if (NOT DEFINED "${CMAKE_MATCH_1}")
|
||||||
set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||||
|
else()
|
||||||
|
list(APPEND PICO_BOARD_CMAKE_OVERRIDES ${CMAKE_MATCH_1})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endwhile()
|
endwhile()
|
||||||
|
@@ -75,6 +75,7 @@ if (NOT TARGET _pico_sdk_pre_init_marker)
|
|||||||
PICO_SDK_POST_LIST_FILES
|
PICO_SDK_POST_LIST_FILES
|
||||||
PICO_CONFIG_HEADER_FILES
|
PICO_CONFIG_HEADER_FILES
|
||||||
PICO_RP2040_CONFIG_HEADER_FILES
|
PICO_RP2040_CONFIG_HEADER_FILES
|
||||||
|
PICO_BOARD_CMAKE_OVERRIDES
|
||||||
)
|
)
|
||||||
|
|
||||||
macro(pico_promote_common_scope_vars)
|
macro(pico_promote_common_scope_vars)
|
||||||
|
@@ -78,6 +78,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -48,6 +48,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -108,6 +108,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -76,6 +76,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -140,6 +140,7 @@
|
|||||||
// --- RP2350 VARIANT ---
|
// --- RP2350 VARIANT ---
|
||||||
#define PICO_RP2350B 1
|
#define PICO_RP2350B 1
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -91,6 +91,7 @@
|
|||||||
// --- RP2350 VARIANT ---
|
// --- RP2350 VARIANT ---
|
||||||
#define PICO_RP2350A 1
|
#define PICO_RP2350A 1
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -83,6 +83,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -80,6 +80,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -82,6 +82,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -80,6 +80,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -93,6 +93,7 @@
|
|||||||
#define PICO_VSYS_PIN 29
|
#define PICO_VSYS_PIN 29
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -109,6 +109,7 @@
|
|||||||
#define PICO_VSYS_PIN 29
|
#define PICO_VSYS_PIN 29
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -85,6 +85,7 @@
|
|||||||
// no PICO_VBUS_PIN
|
// no PICO_VBUS_PIN
|
||||||
// no PICO_VSYS_PIN
|
// no PICO_VSYS_PIN
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -99,6 +99,7 @@
|
|||||||
#define PICO_VSYS_PIN 43
|
#define PICO_VSYS_PIN 43
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -109,6 +109,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -89,6 +89,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -142,6 +142,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -78,6 +78,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -78,6 +78,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -81,6 +81,7 @@
|
|||||||
// --- RP2350 VARIANT ---
|
// --- RP2350 VARIANT ---
|
||||||
#define PICO_RP2350A 1
|
#define PICO_RP2350A 1
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -79,6 +79,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -80,6 +80,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -66,6 +66,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -79,6 +79,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -79,6 +79,7 @@
|
|||||||
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -93,6 +93,7 @@
|
|||||||
#define PICO_VSYS_PIN 29
|
#define PICO_VSYS_PIN 29
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1
|
||||||
#ifndef PICO_RP2350_A2_SUPPORTED
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
#define PICO_RP2350_A2_SUPPORTED 1
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
#endif
|
#endif
|
||||||
|
@@ -6,6 +6,11 @@ if (NOT TARGET pico_base_headers)
|
|||||||
target_compile_definitions(pico_base_headers INTERFACE
|
target_compile_definitions(pico_base_headers INTERFACE
|
||||||
PICO_BOARD="${PICO_BOARD}")
|
PICO_BOARD="${PICO_BOARD}")
|
||||||
|
|
||||||
|
foreach(override ${PICO_BOARD_CMAKE_OVERRIDES})
|
||||||
|
target_compile_definitions(pico_base_headers INTERFACE
|
||||||
|
${override}=${${override}})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
target_link_libraries(pico_base_headers INTERFACE pico_platform_headers)
|
target_link_libraries(pico_base_headers INTERFACE pico_platform_headers)
|
||||||
|
|
||||||
list(APPEND PICO_SDK_POST_LIST_FILES ${CMAKE_CURRENT_LIST_DIR}/generate_config_header.cmake)
|
list(APPEND PICO_SDK_POST_LIST_FILES ${CMAKE_CURRENT_LIST_DIR}/generate_config_header.cmake)
|
||||||
|
@@ -400,7 +400,7 @@ function(pico_add_uf2_output TARGET)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
get_target_property(extra_uf2_args ${TARGET} PICOTOOL_EXTRA_UF2_ARGS)
|
get_target_property(extra_uf2_args ${TARGET} PICOTOOL_EXTRA_UF2_ARGS)
|
||||||
if (1) # TODO: A2 only (Errata RP2350-E9)
|
if (PICO_RP2350_A2_SUPPORTED)
|
||||||
if (NOT extra_uf2_args)
|
if (NOT extra_uf2_args)
|
||||||
set(extra_uf2_args "--abs-block")
|
set(extra_uf2_args "--abs-block")
|
||||||
elseif(NOT "--abs-block" IN_LIST extra_uf2_args)
|
elseif(NOT "--abs-block" IN_LIST extra_uf2_args)
|
||||||
|
@@ -29,6 +29,11 @@ chip_interfaces = {
|
|||||||
'RP2350B': "src/rp2350/rp2350b_interface_pins.json",
|
'RP2350B': "src/rp2350/rp2350b_interface_pins.json",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compulsory_cmake_settings = set(['PICO_PLATFORM'])
|
||||||
|
compulsory_cmake_default_settings = set(['PICO_FLASH_SIZE_BYTES'])
|
||||||
|
matching_cmake_default_settings = set(['PICO_FLASH_SIZE_BYTES', 'PICO_RP2350_A2_SUPPORTED'])
|
||||||
|
compulsory_defines = set(['PICO_FLASH_SIZE_BYTES'])
|
||||||
|
|
||||||
DefineType = namedtuple("DefineType", ["name", "value", "resolved_value", "lineno"])
|
DefineType = namedtuple("DefineType", ["name", "value", "resolved_value", "lineno"])
|
||||||
|
|
||||||
def list_to_string_with(lst, joiner):
|
def list_to_string_with(lst, joiner):
|
||||||
@@ -230,7 +235,13 @@ with open(board_header) as header_fh:
|
|||||||
if name in cmake_settings:
|
if name in cmake_settings:
|
||||||
raise Exception("{}:{} Multiple values for pico_cmake_set {} ({} and {})".format(board_header, lineno, name, cmake_settings[name].value, value))
|
raise Exception("{}:{} Multiple values for pico_cmake_set {} ({} and {})".format(board_header, lineno, name, cmake_settings[name].value, value))
|
||||||
else:
|
else:
|
||||||
cmake_settings[name] = DefineType(name, value, None, lineno)
|
if value:
|
||||||
|
try:
|
||||||
|
# most cmake settings are integer values
|
||||||
|
value = int(value, 0)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
cmake_settings[name] = DefineType(name, value, None, lineno)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# look for "// pico_cmake_set_default BLAH_BLAH=42"
|
# look for "// pico_cmake_set_default BLAH_BLAH=42"
|
||||||
@@ -246,7 +257,13 @@ with open(board_header) as header_fh:
|
|||||||
if name in cmake_default_settings:
|
if name in cmake_default_settings:
|
||||||
raise Exception("{}:{} Multiple values for pico_cmake_set_default {} ({} and {})".format(board_header, lineno, name, cmake_default_settings[name].value, value))
|
raise Exception("{}:{} Multiple values for pico_cmake_set_default {} ({} and {})".format(board_header, lineno, name, cmake_default_settings[name].value, value))
|
||||||
else:
|
else:
|
||||||
cmake_default_settings[name] = DefineType(name, value, None, lineno)
|
if value:
|
||||||
|
try:
|
||||||
|
# most cmake settings are integer values
|
||||||
|
value = int(value, 0)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
cmake_default_settings[name] = DefineType(name, value, None, lineno)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# look for "#else"
|
# look for "#else"
|
||||||
@@ -362,8 +379,9 @@ if board_header_basename == "none.h":
|
|||||||
chip = 'RP2040'
|
chip = 'RP2040'
|
||||||
other_chip = 'RP2350'
|
other_chip = 'RP2350'
|
||||||
else:
|
else:
|
||||||
if 'PICO_PLATFORM' not in cmake_settings:
|
for setting in compulsory_cmake_settings:
|
||||||
raise Exception("{} is missing a pico_cmake_set {} comment".format(board_header, 'PICO_PLATFORM'))
|
if setting not in cmake_settings:
|
||||||
|
raise Exception("{} is missing a pico_cmake_set {} comment".format(board_header, setting))
|
||||||
if cmake_settings['PICO_PLATFORM'].value == "rp2040":
|
if cmake_settings['PICO_PLATFORM'].value == "rp2040":
|
||||||
chip = 'RP2040'
|
chip = 'RP2040'
|
||||||
other_chip = 'RP2350'
|
other_chip = 'RP2350'
|
||||||
@@ -374,16 +392,26 @@ else:
|
|||||||
else:
|
else:
|
||||||
chip = 'RP2350B'
|
chip = 'RP2350B'
|
||||||
if not board_header.endswith("amethyst_fpga.h"):
|
if not board_header.endswith("amethyst_fpga.h"):
|
||||||
|
if 'PICO_RP2350_A2_SUPPORTED' not in cmake_default_settings:
|
||||||
|
raise Exception("{} uses chip {} but is missing a pico_cmake_set_default {} comment".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED'))
|
||||||
if 'PICO_RP2350_A2_SUPPORTED' not in defines:
|
if 'PICO_RP2350_A2_SUPPORTED' not in defines:
|
||||||
raise Exception("{} uses chip {} but is missing a #define {}".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED'))
|
raise Exception("{} uses chip {} but is missing a #define {}".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED'))
|
||||||
if defines['PICO_RP2350_A2_SUPPORTED'].resolved_value != 1:
|
if defines['PICO_RP2350_A2_SUPPORTED'].resolved_value != 1:
|
||||||
raise Exception("{} sets #define {} {} (should be 1)".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED', defines['PICO_RP2350_A2_SUPPORTED'].resolved_value))
|
raise Exception("{} sets #define {} {} (should be 1)".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED', defines['PICO_RP2350_A2_SUPPORTED'].resolved_value))
|
||||||
if 'PICO_FLASH_SIZE_BYTES' not in cmake_default_settings:
|
for setting in compulsory_cmake_default_settings:
|
||||||
raise Exception("{} is missing a pico_cmake_set_default {} comment".format(board_header, 'PICO_FLASH_SIZE_BYTES'))
|
if setting not in cmake_default_settings:
|
||||||
if 'PICO_FLASH_SIZE_BYTES' not in defines:
|
raise Exception("{} is missing a pico_cmake_set_default {} comment".format(board_header, setting))
|
||||||
raise Exception("{} is missing a #define {}".format(board_header, 'PICO_FLASH_SIZE_BYTES'))
|
for setting in matching_cmake_default_settings:
|
||||||
if cmake_default_settings['PICO_FLASH_SIZE_BYTES'].value != defines['PICO_FLASH_SIZE_BYTES'].resolved_value:
|
if setting in cmake_default_settings and setting not in defines:
|
||||||
raise Exception("{} has mismatched pico_cmake_set_default and #define values for {}".format(board_header, 'PICO_FLASH_SIZE_BYTES'))
|
raise Exception("{} has pico_cmake_set_default {} but is missing a matching #define".format(board_header, setting))
|
||||||
|
elif setting in defines and setting not in cmake_default_settings:
|
||||||
|
raise Exception("{} has #define {} but is missing a matching pico_cmake_set_default comment".format(board_header, setting))
|
||||||
|
elif setting in defines and setting in cmake_default_settings:
|
||||||
|
if cmake_default_settings[setting].value != defines[setting].resolved_value:
|
||||||
|
raise Exception("{} has mismatched pico_cmake_set_default and #define values for {}".format(board_header, setting))
|
||||||
|
for setting in compulsory_defines:
|
||||||
|
if setting not in defines:
|
||||||
|
raise Exception("{} is missing a #define {}".format(board_header, setting))
|
||||||
|
|
||||||
if chip is None:
|
if chip is None:
|
||||||
raise Exception("Couldn't determine chip for {}".format(board_header))
|
raise Exception("Couldn't determine chip for {}".format(board_header))
|
||||||
|
Reference in New Issue
Block a user