STM32H743ZI2 QSPI Support

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?

Thanks,

-Dan Fay

1 Like

Hi Dan
Good catch!
Please see and review:

Jerome

Hi Jerome,

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'
mbed::qspi_inst_t _4byte_msb_reg_write_inst;
~~~~~~^
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.

-Dan Fay

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.

Hi Dan
It seems you solved your issue.
Let me sum up what I understood :slight_smile:

  • you are using a QSPI shield that uses CN10 connector
  • I confirm that PB6 is not connected, see:
    NUCLEO-H743ZI2 | Mbed
  • PB6 can be found with Arduino D1 without any HW patch
1 Like

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.