-
Notifications
You must be signed in to change notification settings - Fork 918
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
base: master
Are you sure you want to change the base?
Conversation
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); |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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! 🙊
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 😀
Fixes #642
Original work by @Gadgetoid 🥇