Skip to main content
jeremi
Associate
Aug 25, 2020 1:53 PM UTC
Question

STM32CubeMX random sorting in .ioc file

I just realized STM32CubeMX Version 6.0.1 no longer sorts and groups the settings in .ioc file in a predictable way. This makes it very difficult to follow the changes with tools like `git diff`.

#MicroXplorer Configuration settings - do not modify
PA11.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
Bdma.ADC3.0.PeriphInc=DMA_PINC_DISABLE
VP_TIM5_VS_ClockSourceINT.Mode=Internal
Dma.SPI1_TX.0.PeriphInc=DMA_PINC_DISABLE
Bdma.Request0=ADC3
SPI1.VirtualType=VM_MASTER
...

As a workaround one has to sort the lines manually: `sort < File.ioc > FileSorted.ioc`.

Please, please revert to the old behavior

This topic has been closed for replies.

13 replies

Amel NASRI
ST Technical Moderator
Sep 2, 2020 1:11 PM UTC

Hi @jeremi​ ,

I'll take care to forward your request to our development team who should come back to you after request review.

-Amel

To give better visibility on the answered topics, please click on "Best Answer" on the reply which solved your issue or answered your question.
FS.1
Associate III
Sep 3, 2020 10:37 AM UTC

Hi,

I think I also noticed that before CubeMX 6. Change one option, have 70 changes lines in the Diff. ... However, good that it's taken care of. =)

Cheers

FS.1
Associate III
Sep 7, 2020 12:04 PM UTC

Hi,

sorry, for me it was a different problem. It's when you change some pin, the diffs show lots of changed lines diue to the changed numbering of the pin. Here I changed PA4:

-Mcu.Pin10=PA14
-Mcu.Pin11=PB3
-Mcu.Pin12=PB4
-Mcu.Pin13=PB5
-Mcu.Pin14=PB6
-Mcu.Pin15=PB7
-Mcu.Pin16=PB8
-Mcu.Pin17=VP_IWDG_VS_IWDG
-Mcu.Pin18=VP_RTC_VS_RTC_Activate
-Mcu.Pin19=VP_SYS_VS_Systick
+Mcu.Pin10=PA13
+Mcu.Pin11=PA14
+Mcu.Pin12=PB3
+Mcu.Pin13=PB4
+Mcu.Pin14=PB5
+Mcu.Pin15=PB6
+Mcu.Pin16=PB7
+Mcu.Pin17=PB8
+Mcu.Pin18=VP_IWDG_VS_IWDG
+Mcu.Pin19=VP_RTC_VS_RTC_Activate
 Mcu.Pin2=PA0
-Mcu.Pin20=VP_TIM3_VS_ClockSourceINT
-Mcu.Pin21=VP_TIM4_VS_ClockSourceINT
-Mcu.Pin22=VP_TIM14_VS_ClockSourceINT
+Mcu.Pin20=VP_SYS_VS_Systick
+Mcu.Pin21=VP_TIM3_VS_ClockSourceINT
+Mcu.Pin22=VP_TIM4_VS_ClockSourceINT
+Mcu.Pin23=VP_TIM14_VS_ClockSourceINT
 Mcu.Pin3=PA1
-Mcu.Pin4=PB1
-Mcu.Pin5=PB2
-Mcu.Pin6=PB13
-Mcu.Pin7=PA11
-Mcu.Pin8=PA12
-Mcu.Pin9=PA13
-Mcu.PinsNb=23
+Mcu.Pin4=PA4
+Mcu.Pin5=PB1
+Mcu.Pin6=PB2
+Mcu.Pin7=PB13
+Mcu.Pin8=PA11
+Mcu.Pin9=PA12
+Mcu.PinsNb=24
 Mcu.ThirdPartyNb=0
 Mcu.UserConstants=
 Mcu.UserName=STM32F412CEUx
@@ -130,6 +132,8 @@ PA13.Mode=Trace_Asynchronous_SW
 PA13.Signal=SYS_JTMS-SWDIO
 PA14.Mode=Trace_Asynchronous_SW
 PA14.Signal=SYS_JTCK-SWCLK
+PA4.Locked=true
+PA4.Signal=GPIO_Analog

But that's just FYI. Didn't want to jijack the post.

Khouloud OTHMAN
Associate
Sep 7, 2020 1:17 PM UTC

Hi FS.1,

I can't reproduce the problem from my side, could you please share your .ioc file ?

Regards,

Khouloud.

Khouloud OTHMAN
Associate
Sep 7, 2020 9:44 AM UTC

Hello jeremi,

Could you please attach your .ioc file for further check ?

Rgards,

Khouloud.

jeremi
jeremiAuthor
Associate
Sep 7, 2020 9:53 AM UTC

Hello Khouloud,

sure, just created a default STM32H743ZI project with CubeMX 6.0.1.

Regards, jeremi

Khouloud OTHMAN
Associate
Sep 7, 2020 10:56 AM UTC

Hi jeremi,

It's a bit odd, because when I reopen the attached project and regenerate it using STM32CubeMX v6.0.1installed in my machine, I can't reproduce the issue; .ioc file contents are sorted. Could you please give me more details about your working environment ?

Thanks in advance,

Regards,

Khouloud.

jeremi
jeremiAuthor
Associate
Sep 7, 2020 11:33 AM UTC

Hi Khouloud,

you are right, this seems to be connected the fact that I have installed Java JDK and CubeMX uses it over JRE I also have installed. I already had problems with that, see https://community.st.com/s/case/5003W000002cCVo/stm32cubemx-v-561-mdkarmv5project-generation-have-problem, and now it bites me again.

I need to start CubeMX with JRE explicitly like "c:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "c:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\STM32CubeMX.exe". Then the sorting is right and MDK projects generate fine.

It would be good if CubeMX would refuse to start with JDK or at least show the runtime it is using.

Regards, Jeremi

Khouloud OTHMAN
Associate
Sep 7, 2020 12:56 PM UTC

Hi jeremi,

Thanks for your feedback and sorry for the inconvenience, your request will be raised internally to be reviewed by the STM32CubeMX development team.

Regards,

Khouloud.

LRibe.1
Visitor II
Jun 9, 2021 9:51 PM UTC

I'm experiencing the same problem if I choose "Generate Code" inside STM32CubeIDE v1.6.1.

More recent post:

https://community.st.com/s/question/0D53W00000aJ7yLSAS