Skip to content

Conversation

robjwells
Copy link
Contributor

elf2uf2-rs seems to be unmaintained, and as of Rust 1.89 rejects valid ELF files due to an overly strict check of the ELF header. Picotool is maintained by Raspberry Pi and does not have this problem.

This commit changes guide-level explanation in the root and RP2040 examples READMEs, and the runner in .cargo/config.toml files, to picotool.

Some wording around the flashing process as "creating a UF2 file" was changed as picotool can flash directly from an ELF file with the appropriate command-line flag. Information about deliberately creating a UF2 file has been kept.

In addition, the root README now directs people to rp-binary-info rather than stating that picotool compatible "binary info" is unsupported.


A question: Previously the root README said:

For boards with USB Device support like the Raspberry Pi Pico, we recommend you use the UF2 process.

I have removed this explicit recommendation as the paragraph above it directs people to use picotool if they are not using a debug probe (or otherwise wish to flash over USB). Is this acceptable, or should an explicit recommendation (to use picotool over USB) be included?

elf2uf2-rs seems to be unmaintained, and as of Rust 1.89 rejects valid
ELF files due to an overly strict check of the ELF header. Picotool is
maintained by Raspberry Pi and does not have this problem.

This commit changes guide-level explanation in the root and RP2040
examples READMEs, and the runner in .cargo/config.toml files, to
picotool.

Some wording around the flashing process as "creating a UF2 file" was
changed as picotool can flash directly from an ELF file with the
appropriate command-line flag. Information about deliberately creating a
UF2 file has been kept.

In addition, the root README now directs people to rp-binary-info rather
than stating that picotool-compatible "binary info" is unsupported.
Copy link
Member

@thejpster thejpster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One note but otherwise looks good. CI failures are not your fault - see #948 and #924)

@thejpster thejpster merged commit 82010fc into rp-rs:main Aug 12, 2025
@thejpster
Copy link
Member

Thank you for these improvements!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants