Hi everyone,
Having just now bricked an old i.MX RT106x board by slightly messing up the QSPI configuration (*sigh*), I wonder if there's anything that can be done in J-Link Commander to unbrick it?
As to the whole QSPI bricking mechanism, my best guess (please correct me if I'm wrong!) is that the J-Link Commander's built-in QSPI driver relies on the functions built into the RT106x on-chip ROM vector table to erase QSPI. So if you have previously corrupted the QSPI header, the ROM routines throw an error right at the start, e.g. typing in the J-Link Commander 'erase' command gives this error message:
Originally I thought that there was basically no way out of this brickedness: but then yesterday I found a post on a Renesas site where someone used a J-Link Commander script to poke just enough hardware registers to erase a flash. (And let's face it, all you'd need to do is send down a WRITEENABLE command followed by an ERASECHIP command to a QSPI.) So it seems that a J-Link Commander script could be written to set up the clocks, set up a tiny QSPI LUT, and then trigger those command. (You might even be able to bit-bang out a command to a GPIO, though perhaps code would be better for that.)
Has someone already written a J-Link Commander script to forcibly erase (and hence unbrick) a 106x (or 105x or 102x) QSPI? I've looked just about everywhere but without any luck.
Thanks, Nick
Having just now bricked an old i.MX RT106x board by slightly messing up the QSPI configuration (*sigh*), I wonder if there's anything that can be done in J-Link Commander to unbrick it?
As to the whole QSPI bricking mechanism, my best guess (please correct me if I'm wrong!) is that the J-Link Commander's built-in QSPI driver relies on the functions built into the RT106x on-chip ROM vector table to erase QSPI. So if you have previously corrupted the QSPI header, the ROM routines throw an error right at the start, e.g. typing in the J-Link Commander 'erase' command gives this error message:
Erasing selected range...
Error while determining flash info (Bank @ 0x60000000)
ERROR: Erase returned with error code -1.
Originally I thought that there was basically no way out of this brickedness: but then yesterday I found a post on a Renesas site where someone used a J-Link Commander script to poke just enough hardware registers to erase a flash. (And let's face it, all you'd need to do is send down a WRITEENABLE command followed by an ERASECHIP command to a QSPI.) So it seems that a J-Link Commander script could be written to set up the clocks, set up a tiny QSPI LUT, and then trigger those command. (You might even be able to bit-bang out a command to a GPIO, though perhaps code would be better for that.)
Has someone already written a J-Link Commander script to forcibly erase (and hence unbrick) a 106x (or 105x or 102x) QSPI? I've looked just about everywhere but without any luck.
Thanks, Nick