Conversation
Signed-off-by: Phil Howard <github@gadgetoid.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #19683 +/- ##
=======================================
Coverage 98.58% 98.59%
=======================================
Files 182 182
Lines 23322 23335 +13
Branches 5 5
=======================================
+ Hits 22993 23006 +13
Misses 328 328
Partials 1 1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Code size report: |
|
Will have to poke that rp2 size difference and see if any of it is linker script wobbles versus the code refactor. |
|
Regarding the above Octoprobe results (the second edit to the comment):
|
pico-sdk 2.3.1 narrowed default_text_excludes.incl to libgcc and libm, which would move libc.a and the newlib mem* objects back to flash. The rp2 override keeps them in SRAM; this is now a deliberate divergence. Note that libc.a only matches on RISC-V builds, where newlib is linked from libc.a rather than libg.a. Signed-off-by: Phil Howard <github@gadgetoid.com>
ab2b43a to
3a07249
Compare
|
I've dropped an extra linker .incl which was in this PR but was not only doing basically nothing but would have exploded SRAM usage on RISC-V with a C++ module linked. The
If we were to fix it for Arm, I'd use roughly ~1.2 KB SRAM which is a per-board decision a downstream vendor (like us) might want to make (at least before we ran out of SRAM), but not a suitable cost for RP2 in general. The perf boost isn't all that great anyway (that wild
|
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-alignon RISCV builds, so there may be a size difference.Bugfixes may plausibly affect the following issues, but this is as of yet untested:
time.sleepwaking early, Pico 2 Wntptime.settime()breaks sleep timing under_threadGenerative 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.