cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX crash

Intector
Senior

Hello STM,

My STM32CubeMX crashes randomly. I've attached the ioc file so you can run some tests and see for yourself. I tried to make some changes to my original project, and as I reopened the ioc it came up with this message:

Intector_0-1738378509380.png

 

After that, I created a new project and was able to change things around until I activated the XSPI1 and XSPI2 with the Memory Manager and the Memory Loader. After those changes, I got this message:

Intector_1-1738378674728.png

 

I lost all the changes in my project and had to start over. That CubeMX software is annoying. If it's not one thing, it will be another.

My STM32CubeMX version is: 

Intector_2-1738379016368.png

My STM32CubeIDE version is:

Intector_3-1738379089387.png

The attached files are from the test project.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Semer CHERNI
ST Employee

Hello @Intector 

First let me thank you for posting and apologize for the inconveniency.

In fact this is a known issue with the STM32CubeMX 6.13 version which occurs when activating the memory mapping tool (MMT) and Ethernet.

Unfortunately the only solution is either you disactivate the MMT and make the memory settings manually or use STM32CubeMX 6.12.

A permanent fix will be provided in the next STM32CubeMX release which will be published in the near future.

KR,
Semer.

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.

View solution in original post

3 REPLIES 3
Intector
Senior

Hello,

I got some updates on the STM32CubeMX crashes. The ioc file contains something like this:

MMTAppReg1.MEMORYMAP.AppRegionName=DTCM MMTAppReg1.MEMORYMAP.ContextName=Boot MMTAppReg1.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg1.MEMORYMAP.DefaultDataRegion=true MMTAppReg1.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name MMTAppReg1.MEMORYMAP.Name=DTCM MMTAppReg1.MEMORYMAP.Size=65536 MMTAppReg1.MEMORYMAP.StartAddress=0x20000000 MMTAppReg2.MEMORYMAP.AppRegionName=RAM MMTAppReg2.MEMORYMAP.ContextName=Boot MMTAppReg2.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg2.MEMORYMAP.DefaultDataRegion=true MMTAppReg2.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name MMTAppReg2.MEMORYMAP.Name=RAM MMTAppReg2.MEMORYMAP.Size=465920 MMTAppReg2.MEMORYMAP.StartAddress=0x24000000 MMTAppReg3.MEMORYMAP.AppRegionName=ITCM MMTAppReg3.MEMORYMAP.Cacheability=WTRA MMTAppReg3.MEMORYMAP.ContextName=Boot MMTAppReg3.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg3.MEMORYMAP.DefaultDataRegion=false MMTAppReg3.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name,Cacheability MMTAppReg3.MEMORYMAP.Name=ITCM MMTAppReg3.MEMORYMAP.Size=65536 MMTAppReg3.MEMORYMAP.StartAddress=0x00000000 MMTAppReg4.MEMORYMAP.AP=RO_priv_only MMTAppReg4.MEMORYMAP.AppRegionName=FLASH MMTAppReg4.MEMORYMAP.Cacheability=WTRA MMTAppReg4.MEMORYMAP.ContextName=Boot MMTAppReg4.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg4.MEMORYMAP.DefaultCodeRegion=true MMTAppReg4.MEMORYMAP.DefaultDataRegion=false MMTAppReg4.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,MemType,ContextName,Name,AP,Cacheability,DefaultCodeRegion MMTAppReg4.MEMORYMAP.MemType=ROM MMTAppReg4.MEMORYMAP.Name=FLASH MMTAppReg4.MEMORYMAP.Size=65536 MMTAppReg4.MEMORYMAP.StartAddress=0x08000000 MMTAppReg5.MEMORYMAP.AppRegionName=DTCM MMTAppReg5.MEMORYMAP.ContextName=Appli MMTAppReg5.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg5.MEMORYMAP.DefaultDataRegion=true MMTAppReg5.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name MMTAppReg5.MEMORYMAP.Name=DTCM MMTAppReg5.MEMORYMAP.Size=65536 MMTAppReg5.MEMORYMAP.StartAddress=0x20000000 MMTAppReg6.MEMORYMAP.AppRegionName=RAM MMTAppReg6.MEMORYMAP.ContextName=Appli MMTAppReg6.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg6.MEMORYMAP.DefaultDataRegion=true MMTAppReg6.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name MMTAppReg6.MEMORYMAP.Name=RAM MMTAppReg6.MEMORYMAP.Size=465920 MMTAppReg6.MEMORYMAP.StartAddress=0x24000000 MMTAppReg7.MEMORYMAP.AppRegionName=ITCM MMTAppReg7.MEMORYMAP.Cacheability=WTRA MMTAppReg7.MEMORYMAP.ContextName=Appli MMTAppReg7.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg7.MEMORYMAP.DefaultDataRegion=false MMTAppReg7.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,ContextName,Name,Cacheability MMTAppReg7.MEMORYMAP.Name=ITCM MMTAppReg7.MEMORYMAP.Size=65536 MMTAppReg7.MEMORYMAP.StartAddress=0x00000000 MMTAppReg8.MEMORYMAP.AP=RO_priv_only MMTAppReg8.MEMORYMAP.AppRegionName=FLASH MMTAppReg8.MEMORYMAP.Cacheability=WTRA MMTAppReg8.MEMORYMAP.ContextName=Appli MMTAppReg8.MEMORYMAP.CoreName=ARM Cortex-M7 MMTAppReg8.MEMORYMAP.DefaultCodeRegion=true MMTAppReg8.MEMORYMAP.DefaultDataRegion=false MMTAppReg8.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,DefaultDataRegion,MemType,ContextName,Name,AP,Cacheability,DefaultCodeRegion MMTAppReg8.MEMORYMAP.MemType=ROM MMTAppReg8.MEMORYMAP.Name=FLASH MMTAppReg8.MEMORYMAP.Size=65536 MMTAppReg8.MEMORYMAP.StartAddress=0x08000000 MMTAppRegionsCount=8 MMTConfigApplied=false
View more

After one goes into Tools --> Memory Management settings and turns on the two switches in Code Generation Configuration.

Intector_0-1738697937872.png

 

If you go into the IOC file and delete all the "MMTApp" stuff, STM32CubeMX will usually start. However, all your memory settings will be lost. If you try to activate those switches again, the same thing happens.

 

 

Semer CHERNI
ST Employee

Hello @Intector 

First let me thank you for posting and apologize for the inconveniency.

In fact this is a known issue with the STM32CubeMX 6.13 version which occurs when activating the memory mapping tool (MMT) and Ethernet.

Unfortunately the only solution is either you disactivate the MMT and make the memory settings manually or use STM32CubeMX 6.12.

A permanent fix will be provided in the next STM32CubeMX release which will be published in the near future.

KR,
Semer.

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.

Intector
Senior

Hey @Semer CHERNI 

Thank you for the fast answer. That's exactly what I thought. I edited my linker file and adjusted the MPU settings manually. Since I'm using VisualGDB for development, it's not a big problem. It's just very cumbersome for people using STM32CubeIDE(if there are any) because every time one regenerates the code, all changes are lost.

 

Thank you, and try to keep in mind:

"Always be yourself unless you can be a pirate. Then always be a pirate."