2026-04-23 11:19 AM
STM32CubeMX v6.17.0
While configuring an STM32CubeMX project for an STM32H753 Ethernet project on a NUCLEO-H753ZI, I observed some strange behavior.
After enabling memory management, including the checkboxes
- Apply Application Regions Settings to Peripherals and
- Apply Application Regions Settings to Linker Files,
I would have expected the memory regions to be included in the linker description file STM32H753XX_FLASH.ld.
Unfortunately, this was not the case.
However, since the STM32H753XX_FLASH.ld file had obviously been regenerated, I did not suspect the file handling itself.
After several hours of searching, I discovered that if the .ld file is deleted before regeneration, different content is generated.
Steps to reproduce this:
[...]
[...]
The regions are now available.
However, according to the comment header, the controller has now much more flash memory, but zero RAM :)
In addition, when the STM32CubeMX GUI is started with command line logging, two warnings occur during code generation after the MMT tab is opened once:
2026-04-23 19:59:33,111 [INFO] CodeEngine:319 - Generated code: D:\dev\Prj\CubeMXTest\CubeMXTest\MXTmpFiles\gpio.tmp
2026-04-23 19:59:33,121 [WARN] IPConfigManager:107 - WARNING: Missing Config File for MEMORYMAP ip!!
2026-04-23 19:59:33,122 [WARN] IP:2258 - DefaultDataRegion not found: check if there is a RefParameter without a condition.
2026-04-23 19:59:33,153 [INFO] CodeEngine:295 - oldGeneratedFile, D:\dev\Prj\CubeMXTest\CubeMXTest\MXTmpFiles\cortex.tmp_save
If you click on the RAM_D2 (or other) table cell now and regenerate it without changing the content, the error "IP:2258 - DefaultDataRegion not found" will disappear:
2026-04-23 20:00:00,152 [INFO] CodeEngine:319 - Generated code: D:\dev\Prj\CubeMXTest\CubeMXTest\MXTmpFiles\gpio.tmp
2026-04-23 20:00:00,161 [WARN] IPConfigManager:107 - WARNING: Missing Config File for MEMORYMAP ip!!
2026-04-23 20:00:00,191 [INFO] CodeEngine:295 - oldGeneratedFile, D:\dev\Prj\CubeMXTest\CubeMXTest\MXTmpFiles\cortex.tmp_save
The next behavior occurs if the ETH module is switched on (to RMII) after the MMT is still activated.
The error appears in the MMT output log:
However, if you switch to Tools / Memory Management, the output view is disabled.
When you turn it back on, the content is empty:
until you switch the ETH off and on again, you will see both the new and old errors:
I have a feeling that this feature is in a very beta state (or perhaps it's very KI-generated?)
ST: Thank you for fixing and testing the tool - I'm already excited for the new version!
Best wishes, Timo
2026-04-24 12:48 AM
Hello @FluxPower42
Could you please attach your ioc in order to investigate the issue?
BR, Souhaib
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2026-04-24 2:19 AM
@Souhaib MAZHOUD
the steps to generate the .ioc file in the different states are described in my post.
To make it easy for you: attached a zip with folders of the different steps (note that the index numbers of the folders are different to the numbers in my post).
In this zip you will find the .ioc files on the journey and and all files that have been modified during generation steps.
Please keep in mind, that you have to start without active MMT. Then generate the code (and the ld file). Then switch MMT and "Apply Application Regions Settings to Linker Files" on. Generate and check the ld file. Delete the file, generate again and check the ld file again.
Best wishes,
Timo
2026-05-06 4:05 AM
Hello @FluxPower42
I appreciate the detailed description you provided.
The first issue regarding the linkage file was raised internally with a dedicated team for review and correction: Internal ticket number: CDM0062400 (This is an internal tracking number and is not accessible or usable by customers.)
Concerning the error encountered when enabling ETH after using the MMT tool, this behavior is expected. The message is intentionally generated to alert the user about a memory region overlap detected by MMT:
"Error during the creation of the Rx_PoolSection region: The region you are trying to add overlaps with the RAM_D2 region"
This indicates that the Rx_PoolSection required by ETH conflicts with the existing RAM_D2 memory allocation.
To resolve this issue, please update the memory mapping before enabling ETH by applying one of the following actions:
Delete the RAM_D2 region, or Relocate the RAM_D2 region to AHB SRAM2 or AHB SRAM3
Once this adjustment is made, ETH can be enabled without triggering the overlap error.
BR, Souhaib
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2026-05-20 5:10 AM - edited 2026-05-20 5:10 AM
@Souhaib MAZHOUD
Thank you for your reply and for forwarding it internally.
Regarding the second "issue" (ETH/MMT): now I know how to handle it and what I should do.
I just wanted to report this to ST because I don't think STM32CubeMX is very user-friendly in this regard. And it took me a while to figure out what I had done wrong, since I didn’t notice the first error message and the message was no longer visible after switching between tabs.
If the error message were displayed permanently until the issue is resolved, this would be beneficial for all users.
Best regrads,
Timo