Skip to main content
jeremi
Associate
August 25, 2020
Question

STM32CubeMX random sorting in .ioc file

  • August 25, 2020
  • 13 replies
  • 2831 views

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
September 2, 2020

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
September 3, 2020

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
September 7, 2020

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
September 7, 2020

Hi FS.1,

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

Regards,

Khouloud.

Khouloud OTHMAN
Associate
September 7, 2020

Hello jeremi,

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

Rgards,

Khouloud.

jeremi
jeremiAuthor
Associate
September 7, 2020

Hello Khouloud,

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

Regards, jeremi

Khouloud OTHMAN
Associate
September 7, 2020

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
September 7, 2020

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
September 7, 2020

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
June 9, 2021

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