2025-02-04 11:50 AM - edited 2025-02-04 12:09 PM
Hi there,
I'm configuring an STM32H7S3 nucleo board. I can build, flash, run, and debug code.
I am adding a UART for logging and now am getting the titled error when generating:
In tools>Memory Management it looks like my bootloader and app both live in the 64kB onboard flash
I want the bootloader to use the onboard flash, and do execute-in-place for code on the provided NOR flash.
I have followed these guides, which seem relatively up-to-date:
Getting started with MMT(Memory Management Tool) - stm32mcu
stm32h7s_workshop/1_external_memory/external_memory.md at main · ST-TOMAS-Workshop/stm32h7s_workshop
In particular, section 6.2.5.1 of the first link shows how application flash will be moved to XSPI. In spite of my following the steps very carefully, mine still looks like the photo above.
1. I assume the MMT map should change if I follow the steps in both tutorials, ie. a 32MB section should appear on XSPI2. Is this true?
2. How can I move appli into external flash so that the boot and appli flash regions don't overlap?
3. While it seems like the suggested workflow is to use cubeMX, I see that in the generated files "stm32h7rsxx_ROMxspi1.ld" exists, which uses the memory mapping I am interested in. If it is not possible to use cubeMX to do the memory mapping, how do I choose to use this linker script instead of the default?
Here are my configurations. They are a combination of both guides. I've previously followed each guide individually very carefully, without success.
Note the MMT tab in XSPI2 config. Neither tutorial mentioned this, but that tab has a "device type" setting with the only option being "not defined". Could this be relevant?
Thanks.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------