2020-06-17 08:27 AM
I am working on a project with a client, we use git for revision control and we have a private, shared, online repository for the project. When the client pulls the latest project, opens the "ioc" file in CubeMX, and regenerates the project, he sees the "ioc" file has many changes.
Examination of his file and the original shows that the actual data looks to be the same in both files, however, the order in which the data appears is very different. On the most recent pull and generate he reported over 300 "changes" in the file.
Why is this happening and how can we avoid it? Seeing the project file marked as changing so much may be benign, however, especially for the client it is disturbing.
Sid
Solved! Go to Solution.
2020-06-22 03:49 PM
I have discovered that my client had opened the CubeMX project using STM32CubeIDE and generated the code from there. Since the project should be generated for a Makefile and STM32CubeIDE only generates a "native" project, I believe this was the root cause of the issues. Even when the client opened the project in STM32CubeMX and generated the project, they did not notice that STM32CubeIDE had changed to output project type.
This issue can be closed, and thank you for your help and patience.
Regards,
Sid
2020-06-17 11:17 PM
The IOC file structure is usually only be used by STM32CubeMX (stand-alone one and integrated one in STM32CubeIDE), which is also visible in the first line of its content:
#MicroXplorer Configuration settings - do not modify
For comparison purposes, however you might sort its content alphabetically, e.g on Windows using sort xyz.ioc >xyz_sorted.ioc.
Best regards,
/Peter
2020-06-18 06:27 AM
Thank you for the prompt reply.
This to me appears to be either a poor design choice, or a bug in the "ioc" file handling in CubeMX.
Regards,
Sid
2020-06-18 08:09 AM
After double-checking on even very old IOC files we found that the IOC file already is alphabetically sorted.
Please let us know, which tools of which version is creating another order of the IOC.
Regards,
/Peter
2020-06-22 03:49 PM
I have discovered that my client had opened the CubeMX project using STM32CubeIDE and generated the code from there. Since the project should be generated for a Makefile and STM32CubeIDE only generates a "native" project, I believe this was the root cause of the issues. Even when the client opened the project in STM32CubeMX and generated the project, they did not notice that STM32CubeIDE had changed to output project type.
This issue can be closed, and thank you for your help and patience.
Regards,
Sid