Using LevelX NOR OSPI interface with QSPI memory
I'm trying to use the Azure FileX with the LevelX NOR OSPI driver to access a QSPI memory. I'm using an STM32H723 processor an OctoSPI peripheral to try to interface to a Winbond W25Q128JV QSPI NOR memory. Part of my struggle is there are examples of H7 processors with QSPI peripherals interfacing to QSPI memories. And H7 processors with OSPI peripherals accessing OSPI memories. But nothing with the OSPI to QSPI memory combination.
I'm currently using a Nucleo-144 H723 board interfaced to a custom IO board that has the QSPI memory on it. I originally started with an F7 nucleo board (with QSPI) but couldn't get the Azure USBX to work with the F7 so changed to the H723 and the OSPI came as a "bonus".
I'm early in the process of trying figure out what I need to do with getting the software configured into my configuration. CubeMX will generate lx_stm32_qspi_driver_glue.c and lx_stm32_ospi_driver.c code. There is also an option to include an OSPI Macronix memory device. If the memory device driver is not selected, there is the option to memory device specific commands in lx_stm32_ospi_driver.h.
Before I dig too deep into the generated OSPI code, I wanted to pose the question. Is is possible to configure the generated QSPI interface code (with what ever user code necessary) to have it access a QSPI memory? Is it as simple as defining the QSPI memory registers and commands? The OSPI peripheral in the IOC is configured for the IO used by my QSPI memory device.
Or am I effectively going to have to create a custom driver to work with my situation? There is the QSPI example but I would have to adapt that to the OSPI HAL.
I may also decide to punt and switch to an H7 processor with a QSPI interface or switch to a directly supported OSPI memory. I have not committed to the configuration of the production board. My preference is getting the QSPI memory to work.
