STM32H573 Custom Loader OSPI using Dual MX25L12833F
Hello,
We are developing a STLDR to be used with STM32CubeProgrammer and are having what is seemingly random issues when programming hardware.
We have already written the XSPI interface which works when executed in FLASH using test calls, but as soon as the interface is placed into the STLDR framework and used with STM32CubeProgrammer we are seeing failures of either the Init or SectorErase functions.
Sometimes it will work after a full board reset, but not always.
We have tried linking the loader at the undocumented 0x20003004 RAM address but this seemingly does not fix the issue.
We have tried using our standard development IDE (not ST) which has been successful in the past, but also following the STM32Cube tutorial and repository here, replacing the QSPI calls with XSPI:
https://github.com/STMicroelectronics/stm32-external-loader
The hardware is a custom board using the H573II with dual MX25L12833F on the XSPI bus.
The common failures we are seeing is:
- Init() returns 0
- Init() timeout
- EraseSector() fails and R1 contains the memory mapped address
We have tried using the internal flash to trace the failures, however the loader can fail before reaching XSPI initialisation in some cases.
Any help or suggestions are greatly welcomed.
