I have a pair of STM32H743ZI2 boards that I would like to use with my project, given their very high performance. The QSPI flash interface, however, does not appear to be supported. Having this support would be awesome. Any idea if QSPI is going to be supported anytime soon?
Please see and review:
When I try to directly check out your fork of mbed-os, I get errors like this:
./mbed-os/components/storage/blockdevice/COMPONENT_QSPIF/QSPIFBlockDevice.h:369:11: error: no type named 'qspi_inst_t' in namespace 'mbed'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
I also tried to integrate your code into my checked-out version of Mbed OS. I still got the same 4002 error returned from bd.init().
NOTE: this is on a custom board using a Winbond W25Q128JVSIQ. The STM32H7 board is a NUCLEO-H743ZI2. This board works fine with the NUCLEO-F746ZG STM32 board.
UPDATE: it looks like it’s almost completely compiling for me. I do need to port my usage of RawSerial over to UnbufferedSerial, however. I’ll do that tomorrow.
Got your OS version to build and run on the board, but the -4002 error is still there. I had previously did some hacks to mbed-os to get QSPI to build and sorta run, and got the same result as I’m getting with your OS version.
UPDATE: I got QSPI working on the NUCLEO-H743ZI2. The final issue I was having was related to a “documentation bug” in the NUCLEO-144 documentation.
I was using the wrong CS pin. Unlike the other NUCLEO-144 boards I’ve used, PB_6 s not connected to the QSPI_CSN pin. Instead, you need to use PG_6. You can make PB_6 the QSPI_CSN pin, but you need to change some solder bridges/zero-Ohm resistors to make it work.
It seems you solved your issue.
Let me sum up what I understood
Yes, that is correct. Also note that the “documentation bug” is not in any part of Mbed OS, but rather is in some documents from ST.