2025-07-30 10:12 AM
Hi,
I have a custom board that duplicates the STM32N6 Disco schematic for an external flash MX66UW1G45G. I configured the .ioc to configure XSPI2 and XPSIM with PN6 pin for the clk. I use STM32CubeProgrammer with the external loader activated for MX66UW1G45G. The CubeProgrammer connects via a J-Link cable, and I select the first few blocks to erase. When I click Erase Selection, the oscope shows activity on XSPIM_P2_IO0 and XSPIM_P2_IO3, but nothing on the clock. I also didn't see any activity on the NCS1, it remains high.
The Clock Configuration tab in the .ioc file shows an active 66.66MHz clock signal to XSPI2, with HCLK as a source.
The .ioc has XSPI2 and XSPIM enabled for all three domains - FSBL, Application, and ExtMemLoader. I attached the .ioc.
Huge thanks for help!
Solved! Go to Solution.
2025-08-04 7:04 PM
The firmware turned out to be correct. The problem was incomplete installation of the chip. Most of the balls connected but a few of them didn't, including the clock.
Thanks to @Tesla DeLorean for providing the pin defines from the driver, that was helpful.
2025-07-30 11:29 AM
The repo for example external loaders doesn't seem to include N6, even though N6 loaders are included with CubeProgrammer. Is source code for the N6 loaders located somewhere else? Because the symptoms I'm seeing could be explained if the loader calling some other pin for the clock.
https://github.com/STMicroelectronics/stm32-external-loader
2025-07-31 11:15 PM
You might find some code examples in the Keil/MDK STM32N6 Pack
The build of the Loader looks materially similar to the other STM32's, they look to use 0x34000004
MX66UW1G45G_STM32N6570-DK.stldr builds for 0x34180400, at least for v2.18.00
HAL_PWREx_EnableVddIO3
HAL_PWREx_ConfigVddIORange
PN0:AF9 XSPI_P2_DQS0
PN1:AF9 XSPI_P2_NCS1
PN2:AF9 XSPI_P2_IO0
PN3:AF9 XSPI_P2_IO1
PN4:AF9 XSPI_P2_IO2
PN5:AF9 XSPI_P2_IO3
PN6:AF9 XSPI_P2_CLK
PN8:AF9 XSPI_P2_IO4
PN9:AF9 XSPI_P2_IO5
PN10:AF9 XSPI_P2_IO6
PN11:AF9 XSPI_P2_IO7
2025-08-04 7:04 PM
The firmware turned out to be correct. The problem was incomplete installation of the chip. Most of the balls connected but a few of them didn't, including the clock.
Thanks to @Tesla DeLorean for providing the pin defines from the driver, that was helpful.