2025-02-17 08:05 AM
I made a change to my project (using an STM32H7S3L8 part), saved the results, and a few days later tried to reload the project, but got a "Not a valid ioc file" error message. Here is the output of the log file:
```
2025-02-17 10:59:38,352 [FATAL] ProjectFactory:568 - Exception caught
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[?:?]
at java.lang.Long.parseLong(Long.java:719) ~[?:?]
at java.lang.Long.valueOf(Long.java:1157) ~[?:?]
at com.st.microxplorer.mcu.memorymap.MemInfoExtractor$ETHInfoExtractor.onETHEnable(MemInfoExtractor.java:4561) ~[STM32CubeMX:?]
at com.st.microxplorer.mcu.memorymap.MemInfoExtractor.completInit(MemInfoExtractor.java:252) ~[STM32CubeMX:?]
at com.st.microxplorer.mcu.memorymap.MemoryMapService.MMTActivated(MemoryMapService.java:1259) ~[STM32CubeMX:?]
at com.st.microxplorer.mcu.memorymap.MemoryMapService.loadConfigV3(MemoryMapService.java:2578) ~[STM32CubeMX:?]
at com.st.microxplorer.mcu.Mcu.loadConfProperties(Mcu.java:6750) ~[STM32CubeMX:?]
at com.st.microxplorer.mxsystem.ProjectFactory.swingWorkerLoad(ProjectFactory.java:494) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog.performAction(ProcessBarDialog.java:86) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:157) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:154) ~[STM32CubeMX:?]
at javax.swing.SwingWorker$1.call(SwingWorker.java:305) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at javax.swing.SwingWorker.run(SwingWorker.java:342) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
```
It would be rather useful to tell me which key had the problem so that I could edit the file in vim (at least enough to bring the tool up). (This is independent of the tool writing a file that it later could not read, but I don't have the information on which change that I made that tickled that bug.) This issue is occurring on CubeMX v6.13.0.
Solved! Go to Solution.
2025-02-18 12:39 AM
Hello @sf
Actually, this is a known issue with the STM32CubeMX 6.13 version which occurs when activating the memory mapping tool (MMT) and Ethernet.
As a temporary workaround, you can open the IOC by following these steps:
- Open the IOC file with a text editor
- Delete all references to "MMTAppReg"
- Modify "MMTAppRegionsCount" to "MMTAppRegionsCount=0"
- Reopen the IOC file with STM32CubeMX 6.13.0
KR,
Souhaib
2025-02-17 02:58 PM
> at com.st.microxplorer.mcu.memorymap.MemInfoExtractor$ETHInfoExtractor.onETHEnable(
This hints to something related to ETH.
Generally, if something worked before and makes trouble now - use your version control (git or whatever) and roll back to happiness.
2025-02-17 04:02 PM
Yes, that was obvious. Unfortunately, the number of lines changed were quite numerous -- to the point that I'm abandoning CubeMX as the tool.
2025-02-18 12:39 AM
Hello @sf
Actually, this is a known issue with the STM32CubeMX 6.13 version which occurs when activating the memory mapping tool (MMT) and Ethernet.
As a temporary workaround, you can open the IOC by following these steps:
- Open the IOC file with a text editor
- Delete all references to "MMTAppReg"
- Modify "MMTAppRegionsCount" to "MMTAppRegionsCount=0"
- Reopen the IOC file with STM32CubeMX 6.13.0
KR,
Souhaib