Daisy Patch SM ValidateQSPI does not work

The ValidateQSPI() function isn’t actually checking the values written to flash so will always succeed. It needs this line inserted before the verification loop:

testmem = (uint8_t*)qspi.GetData(start);

Also it doesn’t look like the non-quick case will work because the vector cannot be resized to 8 MByte unless it is allocated in SDRAM.

woah, good catch!

I’ve opened up a github issue with the content of your post, and we’ll work on getting that fixed asap!

It looks like it does sort of work; the function will fail/crash if the QSPI is not present since the communication layer would fail, but it isn’t validating the data. So if the memory itself, or one of the higher data bits isn’t functioning that might false-pass the test.

Thanks for the bug report!

1 Like