cancel
Showing results for 
Search instead for 
Did you mean: 

Migration from True Studio to CubeIDE failed

Nixz
Associate III

I've just migrated from True Studio to CubeIDE (and newest CubeMX from 5.x). It worked pretty well, no major issuesm however generated code is totally crap!

  • it totally do not work, nor even reach main()
  • it is smaller - hex has 160kB instead of >400kB
  • when I've run debugger it starts and then disappear, with strange disassembly view
  • breakpoints are not triggered

My project is mix of C and C++, it compiles without warnings (except warnings made by autogenerated CubeMX code).

I've tried migration several times without any differences.

Any idea how to diagnose what is issue is that? Or maybe even how to fix?

My project if for STM32F767VI STM32H767VI + FreeRTOS.

best regards

Mikolaj Tutak

6 REPLIES 6
Cartu38 OpenDev
Lead II

STM32H767VT is not a valid STM32 reference ... ? please correct if aiming to get help.

TrueStudio import to STM32CubeIDE is supported by File > Import > Import Atollic TrueStudio project.

Some application note is promoted on www.st.com: https://www.st.com/resource/en/user_manual/dm00613834-migration-guide-from-truestudio-to-stm32cubeide-stmicroelectronics.pdf

TrueStudio project is not .ioc file (STM32CubeMX proprietary format) aware. STM32CubeIDE is. Maybe some trouble here: are you relying once imported on some code generation process ?

That's true, I mean STM32F767VI. I reverted to True Studio 9.3.0 and project works fine with latest CubeMX. Changing to CubeIDE fails. I've noticed that newlib has been upgraded fro, 2.5.0 to 3.0.0.

Pavel A.
Evangelist III

> hex has 160kB instead of >400kB

This can be symptom of missing startup .s file and SystemInit()

Please check that the .s file is properly compiled and debugger breaks if you put a breakpoint on Reset_Handler

Also, check that the linker script has been migrated and it references .isr_vector

-- pa

According to me TrueStudio to STM32CubeIDE conversion / import is not revisiting at all primary sources (startup, linker files). Such conversion process only adapt .project & .cprojects files (original ones are copied adding _org to file extension)

If @Nixz​ has jeopardized sources based on some code generation process ... such is another story ...

Newlib possibly upgraded but according to me fully backward compliant.

Sources were regenerated by CubeMX with CubeIDE target then I've reimported them. I believe after this should work fine. Startup .s file were generated with different name but with same content. Maybe this code wasn't included during compile time so linker removed most of the code (including main). Have to check this.