cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeIDE import/export multi core projects

FBena.1
Associate II

Hi everyone,

I have a project for a dual core microcontroller (STM32H755) in CubeIDE structured as follows. I'm trying to export and import it to another CubeIDE via the import/export functions but I can never get it to import correctly.

Does anyone have experience with this or know if there is a procedure that explains how to do it?

Thank you

0693W00000JOG1dQAH.jpg 

1 ACCEPTED SOLUTION

Accepted Solutions

You can de-select the top-node in that wizard to get rid of the "*_expanded" folder. But that is just a cosmetic thing and should not effect the function.

The interesting part in your screenshots is that it is only files managed by CubeMX which has the "exclamation mark" icon. Files managed by IDE sysmem.c/syscalls.c are OK.

This leads me to believe that you have modified the Code generator option CubeMX:

0693W00000KawFQQAZ.png 

If you use "Add necessary library files as references in the toolchain project configuration file", then you should probably run into this problem. Why?

  • Because the project will not contain the HAL-files.
  • The project will instead just link to these files.
  • If you export the project the linked files will not be copied.
  • If you import the project on another machine then these links can only be resolved if that computer has the STM32Cube firmware repo on exactly the same path: C:\Users\MY_USER_NAME\STM32Cube\Repository\STM32Cube_FW_F4_V1.26.1\ Which is maybe not the case since it could have another MY_USER_NAME

If the above does not explain the issue, then:

  • Are you certain that the project builds?
    • I am thinking that maybe all compilation unites compiles successfully. But if main.c and startup.s does not exist, then there is not much of an application at the "linker" stage to try to link together? Consequently you may not see all build errors?
  • Have you renamed the project?

View solution in original post

4 REPLIES 4
mattias norlander
ST Employee

The following approach works for me on an "empty" type project.

Select the right import wizard:

0693W00000JOcIqQAL.pngAt this point I made the assumption that you have already exported your project as an "archive file".

For some reason the wizard lists each "core project" twice. I de-selected the second entries for cm4 and cm7. Doing it the opposite way around did not work.

0693W00000JOcM4QAL.pngAfter this I can build both projects.

This was a simple test with just an "Empty" type of project.

I tried the same with an STM32Cube project. That worked well too. I did in this case only see one project per core in the import dialog which is less confusing anyway..

FBena.1
Associate II

Hi mattias,

thank you very much for the answer.

Project has been exported using "Export" > "Archive file" with following options:

0693W00000JOrGVQA1.png 

For the "Import" i've selected all items from the menu

0693W00000JOrEAQA1.png 

The project structure seems to be correct but many files (.c, .ioc) seem not to have been imported correctly. I've tried using a completely new workspace but that doesn't seem to fix it.

0693W00000JOrJKQA1.png 

Am I doing something wrong when exporting?

The project is exported from a different computer from the import computer, so the paths are different but the project compile correctly and there are not missing dependencies.

Moreover, the project use TouchGFX plugin and of the microcontroller configurator through .ioc files.

You can de-select the top-node in that wizard to get rid of the "*_expanded" folder. But that is just a cosmetic thing and should not effect the function.

The interesting part in your screenshots is that it is only files managed by CubeMX which has the "exclamation mark" icon. Files managed by IDE sysmem.c/syscalls.c are OK.

This leads me to believe that you have modified the Code generator option CubeMX:

0693W00000KawFQQAZ.png 

If you use "Add necessary library files as references in the toolchain project configuration file", then you should probably run into this problem. Why?

  • Because the project will not contain the HAL-files.
  • The project will instead just link to these files.
  • If you export the project the linked files will not be copied.
  • If you import the project on another machine then these links can only be resolved if that computer has the STM32Cube firmware repo on exactly the same path: C:\Users\MY_USER_NAME\STM32Cube\Repository\STM32Cube_FW_F4_V1.26.1\ Which is maybe not the case since it could have another MY_USER_NAME

If the above does not explain the issue, then:

  • Are you certain that the project builds?
    • I am thinking that maybe all compilation unites compiles successfully. But if main.c and startup.s does not exist, then there is not much of an application at the "linker" stage to try to link together? Consequently you may not see all build errors?
  • Have you renamed the project?

FBena.1
Associate II

Hi mattias,.

yes, I think you've hit the problem.

Thank you very much for your reply.