Skip to content

GCC to 12.4, Newlib to 4.3.0, faster RP2350 libs #2480

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 5 commits into from
Sep 20, 2024

Conversation

earlephilhower
Copy link
Owner

@earlephilhower earlephilhower commented Sep 19, 2024

Newlib built using -Os causes things like memcpy to be very slow on the RP2350 because it uses byte-wise operations. On the RP2040 this doesn't matter because there is a ROM routine we use instead of the library, but on the Pico 2 it's almost 10x slower than the optimal method.

Update GCC to 12.4
Update Newlib to 4.4.0
Move to -O2 library compilation

New toolchain looks to add ~10K to RP2350 flash usage (less on the RP2040).

Newlib built using `-Os` causes things like `memcpy` to be very slow on the
RP2350 because it uses byte-wise operations.  On the RP2040 this doesn't
matter because there is a ROM routine we use instead of the library, but on
the Pico 2 it's almost 10x slower than the optimal method.

Update GCC to 12.4
Update Newlib to 4.4.0
Move to -O2 library compilation

New toolchain looks to add ~10K to RP2350 flash usage (less on the RP2040).
@earlephilhower earlephilhower force-pushed the gcc124-nl440-rp2350fast branch 4 times, most recently from 3fa2bae to ce2bd24 Compare September 19, 2024 20:59
@earlephilhower earlephilhower changed the title GCC to 12.4, Newlib to 4.4.0, faster RP2350 libs GCC to 12.4, Newlib to 4.3.0, faster RP2350 libs Sep 19, 2024
@earlephilhower earlephilhower merged commit b2ec6ec into master Sep 20, 2024
20 checks passed
@earlephilhower earlephilhower deleted the gcc124-nl440-rp2350fast branch September 20, 2024 00:03
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant