2025-01-15 3:01 AM - edited 2025-01-16 9:43 AM
Hi,
I want to generate code and project files for MDK-ARM and STM32CubeIDE.
For this I created a new directory and copied the .ioc file into it and opened it it with CubeMx (latest version 6.13).
In the projectmanager/project the following directory structure is shown now:
If I now change the toolchain / IDE e.g. to STM32CubeIDE and back to MDK-ARM, CubeMx adds the project name to the Toolchain Folder Location.
If I now hit the "Generate Code" button, a new directory with the project name is created containing the toolchain directory with the project configuration files.
For example if I select the STM32 IDE toolchain/IDE
the following directory structure is created
#
I don't want that Toolchain/IDE directory is created inside the <projectname> directory.
I wonder if this is new in 6.13 because a couple of weeks before when I first generated code with 6.12 the following directory structure has been created:
Additionally, after Code Gen the project is automatically imported into CubeIDE but I cannot open the project.
Am I doing something wrong? How can I avoid to create the additional <projectname> subdirectory?
2025-01-16 2:03 AM - edited 2025-01-16 4:20 AM
I can reproduce the problem. If I create and save a fresh .ioc project, the .ioc contains these defines
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
and the directory structure of the generated code is like this
16.01.2025 10:02 23.622 .mxproject
16.01.2025 09:41 <DIR> Core
16.01.2025 09:41 <DIR> Drivers
16.01.2025 10:02 27.525 hiplex_v11.ioc
16.01.2025 09:46 <DIR> STM32CubeIDE
If I now switch to another toolchain/IDE, e.g. MDK-ARM, generate code/project files, then switch back to STM-Toolchain, the projectname is added to the toolpath. If I generate code, a strange warning "Updating under root option may corrupt your previous generated project if exists" appears
and the .ioc looks like this
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=hiplex_v11
and now the generated directory structure looks like this
16.01.2025 10:02 23.622 .mxproject
16.01.2025 09:41 <DIR> Core
16.01.2025 09:41 <DIR> Drivers
16.01.2025 10:02 <DIR> hiplex_v11
16.01.2025 10:02 27.525 hiplex_v11.ioc
16.01.2025 09:55 <DIR> MDK-ARM
16.01.2025 09:46 <DIR> STM32CubeIDE
Instead of overwriting the "STM32CubeIDE" directory content, an additional directory "hiplex_v11" has been created and an additional "STM32CubeIDE" directory with project files is created inside.
This is confusing and results in IDE/compile problems if the generated code is imported into CubeIDE..
Any idea what this warning is about and how to avoid it?
Is this a bug in CubeMx? If not, what am I doing wrong?
Thanks
EDIT:
The problem does not occure if the project is saved before code generation.
1. Change the toolchain from MDK-ARM to STMCubeIDE (forces "Generate Under Root")
2. Disable "Generate Under Root"
3. SAVE
4. GENERATE CODE
If step 3. is missing, an extra directory is created by mistake.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.