cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeIDE - Open IOC file stopped working without warning

Bob_Walton
Associate II

I have developing my project for some weeks now with no issues, then suddenly I cannot open the IOC file to modify the pin configuration. Worked on Monday, doesn't work two days later. no files have been copied or duplicated, just pushed to git.

I have tried all the updates I can find but still no joy.

The error message is:

Invalid Input: Must be project's active .ioc file.

Project's 'XXX-011-Firmware' active one is 'XX-011-Firmware.ioc' file

 

I am using Cube:

Version: 1.14.0

Build: 19471_20231121_1200 (UTC)

 

I have looked in the IOS file and:

ProjectManager.ProjectFileName=XXX-011-Firmware.ioc
ProjectManager.ProjectName=XXX-011-Firmware

Match

IDE Log Attached

Last successful .ide.log (MX) two days earlier attached.

No new logs created because of the error.

 

Can anyone help?

6 REPLIES 6
Peter BENSCH
ST Employee

Welcome @Bob_Walton,to the community!

The error message appears, for example, if there is more than one IOC in the project or if the IOC file has been renamed (as in this case).

Regards
/Peter

In order 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.
Bob_Walton
Associate II

The file has not been renamed and there is only one IOC file in the project.

I did manage to recover by doing the following.

  1. create a new project from the IOC file
  2. copy the IOC and overwrite the old file
  3. edit the IOC to set the project name and IOC file to the original
  4. when I try to open the file is asks if I want to migrate and I answer yes
  5. then I can open the file with all of the original settings

BUT

if I edit the settings and code generation takes place, I cannot open the file again without repeating the steps above.

I would seem that code generation locks the file.

Regards

Bob

Bob S
Principal

What if you run CubeMX stand-alone instead of starting it from inside the IDE?

<soapbox>I never run CubeMX from inside the IDE.  I always run the stand-alone version.  For me it is just plain easier, and quicker when I'm working for multiple projects at the same time.</soapbox>

@Bob_Walton With steps 1 to 3, you are obviously creating an (essentially) identical IOC to the previous IOC - except that the process blocking the previous one does not yet have access to it. Step 4 shows that the new IOC still contains a reference to an older firmware library, which is why you are offered the migration.

Generating code does not block the IOC, but I suspect some cloud functionality does. Didn't you mention that you are working with GIT?

In order 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.

@Peter BENSCH Yes, I am using GuiHub as the repository for pushing my code changes. Do you suspect there is a link between the push and the IOC read problem?

At the end of each day I push my repo, so the fact that the problem appears between two days seems to be a viable root cause.

Why would the IOC link be broken by a git push?

I Have been working with Git all along and this problem only started recently. Is there some background update which I am not aware of?

I cannot tell you the exact cause, but I have experienced something similar when a file that is currently being edited is to be deleted.

I suspect that the synchronization process is still active and is therefore blocking the IOC. You would have to check whether this is the case and how you can get this process to release the file again after synchronization.

In order 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.