Skip to content

Commit b7b114e

Browse files
authored
Merge pull request #950 from pennam/pico-rand-fix
RP2040: fix OTA and binary size computation
2 parents 931f0bb + b1cde79 commit b7b114e

5 files changed

+56
-25
lines changed

Diff for: mbed-os-to-arduino

-12
Original file line numberDiff line numberDiff line change
@@ -227,18 +227,6 @@ generate_flags () {
227227
sed -i 's/LENGTH = 0x200000/LENGTH = CM4_BINARY_END - CM4_BINARY_START/g' "$ARDUINOVARIANT"/linker_script.ld
228228
sed -i 's/LENGTH = 0x1c0000/LENGTH = CM4_BINARY_START - 0x8040000/g' "$ARDUINOVARIANT"/linker_script.ld
229229
fi
230-
if [[ $ARDUINOVARIANT == *NANO_RP2040* ]]; then
231-
set +e
232-
HAS_2NDSTAGE_SECTION=`grep second_stage_ota "$ARDUINOVARIANT"/linker_script.ld`
233-
set -e
234-
if [ x"$HAS_2NDSTAGE_SECTION" == x ]; then
235-
echo "Adding second stage bootloader section to Nano RP2040 Connect"
236-
SECOND_STAGE_SECTION=".second_stage_ota : {\n \
237-
KEEP (*(.second_stage_ota))\n \
238-
} > FLASH"
239-
sed -i "s?.flash_begin?${SECOND_STAGE_SECTION}\n .flash_begin?g" $ARDUINOVARIANT/linker_script.ld
240-
fi
241-
fi
242230
done
243231
echo " done."
244232
}

Diff for: mbed-os-to-arduino-macos

-12
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,6 @@ generate_flags () {
253253
gsed -i 's/LENGTH = 0x200000/LENGTH = CM4_BINARY_END - CM4_BINARY_START/g' "$ARDUINOVARIANT"/linker_script.ld
254254
gsed -i 's/LENGTH = 0x1c0000/LENGTH = CM4_BINARY_START - 0x8040000/g' "$ARDUINOVARIANT"/linker_script.ld
255255
fi
256-
if [[ $ARDUINOVARIANT == *NANO_RP2040* ]]; then
257-
set +e
258-
HAS_2NDSTAGE_SECTION=`grep second_stage_ota "$ARDUINOVARIANT"/linker_script.ld`
259-
set -e
260-
if [ x"$HAS_2NDSTAGE_SECTION" == x ]; then
261-
echo "Adding second stage bootloader section to Nano RP2040 Connect"
262-
SECOND_STAGE_SECTION=".second_stage_ota : {\n \
263-
KEEP (*(.second_stage_ota))\n \
264-
} > FLASH"
265-
gsed -i "s?.flash_begin?${SECOND_STAGE_SECTION}\n .flash_begin?g" $ARDUINOVARIANT/linker_script.ld
266-
fi
267-
fi
268256
done
269257
echo " done."
270258
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
From 9819fef4bdb417e3ff9aee08266264b6ec23e075 Mon Sep 17 00:00:00 2001
2+
From: pennam <[email protected]>
3+
Date: Wed, 11 Sep 2024 12:24:01 +0200
4+
Subject: [PATCH 235/236] RP2040: add second_stage_ota section to linker script
5+
6+
- This was previously done inside mbed-os-to-arduino script
7+
---
8+
.../TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld | 4 ++++
9+
1 file changed, 4 insertions(+)
10+
11+
diff --git a/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld b/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
12+
index ec8bac7e40..8295f3269d 100644
13+
--- a/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
14+
+++ b/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
15+
@@ -54,6 +54,10 @@ SECTIONS
16+
__flash_binary_start = .;
17+
} > FLASH
18+
19+
+ .second_stage_ota : {
20+
+ KEEP (*(.second_stage_ota))
21+
+ } > FLASH
22+
+
23+
.boot2 : {
24+
__boot2_start__ = .;
25+
KEEP (*(.boot2))
26+
--
27+
2.45.2
28+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From 35b0d95199cb5b9cda593ce4b4029c4306906ccd Mon Sep 17 00:00:00 2001
2+
From: pennam <[email protected]>
3+
Date: Wed, 11 Sep 2024 12:27:03 +0200
4+
Subject: [PATCH 236/236] RP2040: add simbols to linker script to compute
5+
.uninitialized_data section size
6+
7+
---
8+
.../TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld | 2 ++
9+
1 file changed, 2 insertions(+)
10+
11+
diff --git a/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld b/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
12+
index 8295f3269d..b748bab5fa 100644
13+
--- a/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
14+
+++ b/targets/TARGET_RASPBERRYPI/TARGET_RP2040/TOOLCHAIN_GCC_ARM/memmap_default.ld
15+
@@ -183,7 +183,9 @@ SECTIONS
16+
17+
.uninitialized_data (COPY): {
18+
. = ALIGN(4);
19+
+ __uninitialized_data_start__ = .;
20+
*(.uninitialized_data*)
21+
+ __uninitialized_data_end__ = .;
22+
} > RAM
23+
24+
/* Start and end symbols must be word-aligned */
25+
--
26+
2.45.2
27+

Diff for: variants/NANO_RP2040_CONNECT/conf/mbed_app.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"target_overrides": {
33
"*": {
44
"target.printf_lib": "std",
5-
"target.macros_add": [ "MBEDTLS_ENTROPY_NV_SEED" ],
5+
"target.macros_add": [ "MBEDTLS_ENTROPY_NV_SEED", "UNINITIALIZED_DATA_SECTION=1" ],
66
"platform.stdio-buffered-serial": false,
77
"platform.stdio-baud-rate": 115200,
88
"platform.default-serial-baud-rate": 115200,

0 commit comments

Comments
 (0)