Skip to content

Update nuke.c to auto-detect flash size #653

New issue

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

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

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tyeth
Copy link

@tyeth tyeth commented Jun 4, 2025

Fixes #642

Original work by @Gadgetoid 🥇

Fixes raspberrypi#642


Thanks to @Gadgetoid for the work "Making A Thing" - Support [PiMoRoNi by buying stuff](https://shop.pimoroni.com/)!
uint8_t txbuf[4];
uint8_t rxbuf[4];
txbuf[0] = 0x9f;
flash_do_cmd(txbuf, rxbuf, 4);
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this guaranteed to work with every variety of SPI Flash chip that might be used with RP2040 or RP2350?

Copy link
Author

Choose a reason for hiding this comment

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

It's a good question. I was under the dangerous assumption that they all follow a standard query for that information, like the JEDEC command used. Of course just because JEDEC claims "Global Standards for the Microelectronics Industry", it's plausible for non compatible things to be used by more adventurous souls.

I'm not an expert on this matter.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not an expert on this matter.

Me neither! The only reason I asked, was because I assumed that if it was universally supported, then there'd already be a wrapper-function for it in pico-sdk? 🤔
But that's merely a hunch, I could be entirely wrong! 🙊

Copy link
Author

Choose a reason for hiding this comment

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

This suggests for an FPGA situation with NOR flash that two possible command sets exist, but I've no idea if that first option is supported by RP2s.
https://electronics.stackexchange.com/a/673366

Copy link
Author

@tyeth tyeth Jun 18, 2025

Choose a reason for hiding this comment

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

Okay, so digging deeper, yes the Serial Flash Discovery Protocol spec also mandates the backwards compatible support for 0x9f command from the Common Flash Interface, or at least as far as my limited research indicates.

Copy link
Contributor

Choose a reason for hiding this comment

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

cc @Wren6991 who i believe has said in the past that such a command is not universally supported

Choose a reason for hiding this comment

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

Try it- with fall back to 2MB or 4MB depending on chip? (Though it would probably be Pico boards where it works)

That said it’s kinda up to the vendor to verify flash_nuke works on their board and - if not - supply a customised alternative.

Copy link
Contributor

Choose a reason for hiding this comment

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

That said it’s kinda up to the vendor to verify flash_nuke works on their board and - if not - supply a customised alternative.

😂 🤣 😂 🤣 😂 🤣

If every vendor provided even half of the support that Pimoroni did, the world would be a much better place 😀

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.

Official flash nuke doesn't work, but https://github.com/Gadgetoid/pico-universal-flash-nuke does work
4 participants