cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeIDE 1.10.0 Migration Issue

RetroInTheShade
Associate III

Hi,

I am experiencing issues migrating projects from STM32CubeIDE 1.9.0 to 1.10.0. After performing the migration, a number of custom project .c/.h files are deleted from the project and filesystem, and some are completely replaced, deleting /*USER CODE*/ sections.

After installing the new application (help->check for updates) and restarting Windows 10 system I perform the following:

  1. Open project (STM32F469 based)
  2. Build project to confirm fine.
  3. Open .ioc file
  4. Select "Migrate" to update to STM32CubeMX 6.6.0
  5. Save .ioc to force code regeneration.
  6. Code generation completes but:
    1. All .h files are deleted from the Core/Inc directory (custom headers and generated headers for the peripherals adc.h, dma.h etc)
    2. All the custom .c files are deleted from the Core/Src directory

If I open the .ioc again and force another code generation, the peripheral .h are correctly regenerated (but as the files were previously deleted, all the /* USER CODE */ sections in these headers are gone).

I have tried rolling back, creating a new workspace directory and importing the project into the new clean directory but the result is the same (and repeatable).

I have tried a completely separate project for a STM32G0. In this case custom .c are deleted but not custom .h.

Our projects are structured with the project code separate from the workspace directory. After some experimenting, I have determined that if I directly copy the project code folder into a new workspace directory and perform the same process, the issue does not seem to occur.

Can anyone suggest what might be causing the issue or point to angle to investigate?

I would like to get to the bottom of it before committing to migrating all our projects (and avoid regenerating/restructuring projects as part of the migration).

Note sure if it is relevant but I have noticed that the file name format of the .mxproject has changed.

  • In 1.9.0 it used absolute file name:
    • 'D:/repo/RepoFolder/ProjectName/Core/Inc/gpio.h
  • In 1.10.0 is has changed to relative with backslash:
    • ..\Core\Inc\gpio.h

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
RetroInTheShade
Associate III
6 REPLIES 6
Sara BEN HADJ YAHYA
ST Employee

Hello @Community member​  ,

Thanks for your feedback,

There is indeed a CubeMX issue, it seems that the custom source files, system_stm32f4xx.c, sysmem.c and syscalls.c get removed when the project is migrated from MX v6.5.0 to MX v6.6.0.

The header files are always generated correctly, I tried several tests but I couldn't manage to reproduce this part. Could you please share your ioc file before project migration if you still have a copy or help me with a detailed scenario.

I apologize for the inconveniences,

Sara.

I reported same , but i choice leave MX version on project (my 6.3) .

RetroInTheShade
Associate III

Hi @Sara BEN HADJ YAHYA​ ,

Thanks for the confirmation.

After further digging, I have noticed that some files are also deleted/overwritten in the TouchGFX/target/ directory.

What is ST's recommendation at this point for active development? Roll back to 1.9.0 or stick with 1.10.0 without migration?

Thanks

P.S. I have messaged you the offending .ioc file before project migration.

This deletion occurs only once. After this copy files back from backup and all works for me.

But yes migration is complicated, some things you need run twice etc.

RetroInTheShade
Associate III

Thanks @MM..1​

On the flipside, my attempt to use 1.10.0 without migrating does not work. The files are deleted on a subsequent code generation, regardless of the selection.

I'm going to let the dust settle and see what ST comes back with before migrating all our projects.

Cheers.

RetroInTheShade
Associate III