From 5461939baec6f14741f65b04cc6716dc778444eb Mon Sep 17 00:00:00 2001 From: pennam Date: Mon, 17 Jun 2024 10:50:47 +0200 Subject: [PATCH] NANO RP2040: rebuild libmbed.a --- .../TARGET_RP2040/objects.h | 7 +++++++ .../hardware_sync/include/hardware/sync.h | 5 +++++ .../pico_platform/include/pico/platform.h | 6 +++--- variants/NANO_RP2040_CONNECT/defines.txt | 3 ++- variants/NANO_RP2040_CONNECT/includes.txt | 3 +++ variants/NANO_RP2040_CONNECT/libs/libmbed.a | Bin 3906822 -> 3916410 bytes 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/objects.h b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/objects.h index f5f44a58f..0231968bb 100644 --- a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/objects.h +++ b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/objects.h @@ -33,6 +33,7 @@ extern "C" { #include "pico/assert.h" #include "pico/time.h" #include "pico/types.h" +#include "pico/rand.h" #include "hardware/pwm.h" #include "hardware/adc.h" #include "hardware/resets.h" @@ -122,6 +123,12 @@ struct flash_s { uint32_t dummy; }; +#if DEVICE_TRNG +struct trng_s { + uint8_t not_used; +}; +#endif + typedef struct gpio_s gpio_t; typedef struct serial_s serial_t; diff --git a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_sync/include/hardware/sync.h b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_sync/include/hardware/sync.h index 8f91d5595..4f076aba0 100644 --- a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_sync/include/hardware/sync.h +++ b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_sync/include/hardware/sync.h @@ -70,6 +70,11 @@ typedef volatile uint32_t spin_lock_t; #define PICO_SPINLOCK_ID_HARDWARE_CLAIM 11 #endif +// PICO_CONFIG: PICO_SPINLOCK_ID_RAND, Spinlock ID for Random Number Generator, min=0, max=31, default=12, group=hardware_sync +#ifndef PICO_SPINLOCK_ID_RAND +#define PICO_SPINLOCK_ID_RAND 12 +#endif + // PICO_CONFIG: PICO_SPINLOCK_ID_OS1, First Spinlock ID reserved for use by low level OS style software, min=0, max=31, default=14, group=hardware_sync #ifndef PICO_SPINLOCK_ID_OS1 #define PICO_SPINLOCK_ID_OS1 14 diff --git a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h index ee1d360ce..ea16d9734 100644 --- a/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h +++ b/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h @@ -151,14 +151,14 @@ extern "C" { * * For example a `uint32_t` foo that will retain its value if the program is restarted by reset. * - * uint32_t __uninitialized_ram("my_group_name") foo; + * uint32_t __uninitialized_ram(foo); * - * The section attribute is `.uninitialized_ram.` + * The section attribute is `.uninitialized_data.` * * \param group a string suffix to use in the section name to distinguish groups that can be linker * garbage-collected independently */ -#define __uninitialized_ram(group) __attribute__((section(".uninitialized_ram." #group))) group +#define __uninitialized_ram(group) __attribute__((section(".uninitialized_data." #group))) group /*! \brief Section attribute macro for placement in flash even in a COPY_TO_RAM binary * \ingroup pico_platform diff --git a/variants/NANO_RP2040_CONNECT/defines.txt b/variants/NANO_RP2040_CONNECT/defines.txt index 60ddca583..5f8190305 100644 --- a/variants/NANO_RP2040_CONNECT/defines.txt +++ b/variants/NANO_RP2040_CONNECT/defines.txt @@ -16,11 +16,12 @@ -DDEVICE_SERIAL=1 -DDEVICE_SERIAL_FC=1 -DDEVICE_SPI=1 +-DDEVICE_TRNG=1 -DDEVICE_USBDEVICE=1 -DDEVICE_USTICKER=1 -DDEVICE_WATCHDOG=1 -D__MBED__=1 --DMBED_BUILD_TIMESTAMP=1714634413.5827048 +-DMBED_BUILD_TIMESTAMP=1718377159.4257615 -D__MBED_CMSIS_RTOS_CM -DMBED_MPU_CUSTOM -DMBEDTLS_ENTROPY_NV_SEED diff --git a/variants/NANO_RP2040_CONNECT/includes.txt b/variants/NANO_RP2040_CONNECT/includes.txt index d84e91a12..dbd89c569 100644 --- a/variants/NANO_RP2040_CONNECT/includes.txt +++ b/variants/NANO_RP2040_CONNECT/includes.txt @@ -325,6 +325,9 @@ -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico +-iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_rand +-iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_rand/include +-iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_rand/include/pico -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_runtime -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_runtime/include -iwithprefixbefore/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_runtime/include/pico diff --git a/variants/NANO_RP2040_CONNECT/libs/libmbed.a b/variants/NANO_RP2040_CONNECT/libs/libmbed.a index b9e8ff1b7621fb317d52f27d97f2489eaab074be..4c51ab1a977f0e9194ce05b887678240dcf27ff5 100644 GIT binary patch delta 67625 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