This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

QSPI erase/write handling

The documentation is unclear about QSPI handling:

If I issue a QSPI erase command then I receive confirmation that the erase command has been written to the external QSPI chip; the external QSPI chip will commence the erase operation.

Questions:

1) If I immediately issue a QSPI Write command then does the chip wait until the external QSPI chip has finished the erase?

2) If it does wait then  is there a timeout on this or will it hang forever?

[I believe that the chip issues read status instructions to determine the state of the external QSPI chip's WIP bit. However the documentation is unclear on how oftern it does this, if there is a timeout, etc]

Parents
  • Hi Martin

    1) If I immediately issue a QSPI Write command then does the chip wait until the external QSPI chip has finished the erase?

    At the start of every command the QSPI interface will automatically read the status register, to make sure it doesn't read or write unless the device is idle. 

    2) If it does wait then  is there a timeout on this or will it hang forever?

    The QSPI should retry forever, yes. There is no defined timeout. 

    Best regards
    Torbjørn

  • Torbjorn,

    Thanks. When I read the QSPI STATUS register with the debugger I get, in hex, the following:

    40029604 0A 00 00 42

    The bottom byte has bit 3 set (QSPI Ready) but also has bit 1 set.

    The upper byte (42) reflects the memory chip's status register which I validated independently as correct.

    We get the same result if we read the STATUS register without the debugger.

    Martin

Reply
  • Torbjorn,

    Thanks. When I read the QSPI STATUS register with the debugger I get, in hex, the following:

    40029604 0A 00 00 42

    The bottom byte has bit 3 set (QSPI Ready) but also has bit 1 set.

    The upper byte (42) reflects the memory chip's status register which I validated independently as correct.

    We get the same result if we read the STATUS register without the debugger.

    Martin

Children
Related