Closed jeffreykneumann closed 2 months ago
After a closer look into the datasheet for my QSPI flash chip (GD25Q16C), it appears this chip does not support page erase. Does that mean that the erasePage() function does not work with all hardware?
After a closer look into the datasheet for my QSPI flash chip (GD25Q16C), it appears this chip does not support page erase. Does that mean that the erasePage() function does not work with all hardware?
I think you anwser yourself, the chip does not support page erase, you should use sector erase instead.
Operating System
Others
IDE version
Arduino IDE 2.3.2
Board
Adafruit ItsyBitsy M4
BSP version
1.7.13
SPIFlash Library version
4.3.4
Sketch as attached file if not stock example
test_flash.txt
What happened ?
From what I can tell,
erasePage()
does not work as expected. WhenreadBuffer()
orwriteBuffer()
is called aftererasePage()
the program will hang. I've traced the cause of this towaitUntilReady()
. I've attached a demonstration function that showsreadStatus()
is different depending on whethereraseSector()
orerasePage()
is called beforehand.Does anyone have any suggestions on how to prevent this hang? I could always use
eraseSector()
as a backup plan but it has an advertised erase time of 45ms compared to the advertised 0.6ms oferasePage()
.How to reproduce ?
Here is a demonstration sketch I made to outline the issue:
Its output is:
Its output should be:
Debug Log as attached txt file
No response
Screenshots
No response