rp2: Bump pico-sdk to v2.3.1 by Gadgetoid · Pull Request #19683 · micropython/micropython · GitHub
Skip to content

rp2: Bump pico-sdk to v2.3.1 - #19683

Draft
Gadgetoid wants to merge 3 commits into
micropython:masterfrom
pimoroni:rp2-sdk-2.3.1
Draft

Gadgetoid wants to merge 3 commits into
micropython:masterfrom
pimoroni:rp2-sdk-2.3.1

Conversation

@Gadgetoid

Copy link
Copy Markdown
Contributor

Summary

Bump Pico SDK to v2.3.1 - https://github.com/raspberrypi/pico-sdk/releases/tag/2.3.1

Testing

TBC

Trade-offs and Alternatives

Pico SDK's "bugfix" to linker scripts was walked back in raspberrypi/pico-sdk#3075 and our downstream divergences still preserve the SDK 2.3.0 behaviour. May require some consideration around deferring to upstream.

This bump also sets -mstrict-align on RISCV builds, so there may be a size difference.

Bugfixes may plausibly affect the following issues, but this is as of yet untested:

Generative AI

I used generative AI tools when creating this PR, but a human has checked the
code and is responsible for the code and the description above.

Signed-off-by: Phil Howard <github@gadgetoid.com>
pico-sdk 2.3.1 reverted default_text_excludes.incl to pre-2.3.0
behaviour, leaving libc.a and the newlib mem* objects in flash.

The rp2 override keeps them in SRAM; note that this is now a
deliberate divergence.

Signed-off-by: Phil Howard <github@gadgetoid.com>
pico-sdk 2.3.1 narrowed its default_rodata_excludes.incl to libgcc and
libm only, which would move libc.a and newlib mem* .rodata back to flash.

Signed-off-by: Phil Howard <github@gadgetoid.com>
@codecov

codecov Bot commented Sep 5, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Code size report:

Reference:  stm32/boards: Use LSI-matched RTC prescalers on Arduino boards. [14e9793]
Comparison: rp2: Override default_rodata_excludes.incl to keep libc .rodata in RAM. [merge of ab2b43a]
  mpy-cross:    +0 +0.000% 
   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
      esp32:    +0 +0.000% ESP32_GENERIC
     mimxrt:    +0 +0.000% TEENSY40
        rp2:   -68 -0.007% RPI_PICO_W[incl -4(bss)]
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
  qemu rv32:    +0 +0.000% VIRT_RV32

@Gadgetoid

Copy link
Copy Markdown
Contributor Author

Will have to poke that rp2 size difference and see if any of it is linker script wobbles versus the code refactor.

@octoprobe-bot

octoprobe-bot commented Sep 5, 2026

Copy link
Copy Markdown

Octoprobe PR report

Test Tests
passed
Tests
skipped
Tests
xfailed
Tests
failed
format flash 4
run-tests.py 3839 446
run-tests.py --via-mpy --emit native 3795 490
run-tests.py --via-mpy 3839 446
run-perfbench.py 96
run-natmodtests.py 288 34 6
run-mpremote-tests.sh 84 24
run-tests.py --test-dirs=extmod_hardware 18 72 30
run-tests.py --test-dirs=extmod_hardware --emit-native 18 72 30
run-tests.py --test-dirs=net_hosted 28 8 4
run-tests.py --test-dirs=net_inet 28 2
run-multitests.py multi_bluetooth/*.py 131 48 35 2
run-multitests.py multi_net/*.py 148 12
Total 12316 1630 101 30
Failures

Group: run-mpremote-tests.sh

Test rp2
5334-
RPI_PICO2
rp2
5334-
RPI_PICO2-
RISCV
rp2
552b-
RPI_PICO2_W
rp2
6038-
RPI_PICO_W
test_unicode.sh FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL
test_mount.sh FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL

Group: run-multitests.py multi_bluetooth/*.py

Reference: 6038-RPI_PICO_W

Test rp2
552b-
RPI_PICO2_W-
instance0
rp2
552b-
RPI_PICO2_W-
instance1
rp2
5f2c-
RPI_PICO_W-
instance0
rp2
5f2c-
RPI_PICO_W-
instance1
multi_bluetooth/ble_gattc_discover_services.py pass pass pass pass pass pass pass pass pass pass pass FAIL
multi_bluetooth/ble_irq_calls.py pass pass pass pass pass pass pass pass pass FAIL pass pass

Group: run-tests.py --test-dirs=net_hosted

Test rp2
552b-
RPI_PICO2_W
rp2
5f2c-
RPI_PICO_W
net_hosted/ssl_verify_callback.py FAIL FAIL FAIL FAIL

@dpgeorge

dpgeorge commented Sep 9, 2026

Copy link
Copy Markdown
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants