cancel
Showing results for 
Search instead for 
Did you mean: 

How to clone a dual core project in STM32CubeIDE

B.Montanari
ST Employee

How to clone a dual core project

This article presents a quick guidance on how to clone an existing dual core project for any STM32 dual core MCU.

Introduction

In this article, a few steps are presented as guidance to copy/clone an existing dual core project for the STM32H7 series. This is also applicable to any STM32 dual core MCU. There are different ways to clone a project, but the simpler one is described in this article. Many thanks to @BobWalance for proposing this method in his original post: STM32CubeIDE - procedure for cloning a project - STMicroelectronics Community

Prerequisites

 

Cloning a dual core project

The simplest way to clone a project would be to copy its existing project’s folder into a new folder. Afterwards, renaming all the necessary files associated with the project. For this tutorial, we use an existing project for the NUCLEO-H745ZI-Q board regarding the hardware semaphore (HSEM) implementation as the example.

Within the STM32CubeIDE toolchain, the first step is to right-click your current project on the "Project Explorer" tab and select "Show In" > "System Explorer":

BMontanari_0-1702562007742.png

 

That way your workspace folder is open, and you can see all your project’s folders available for this workspace. After this, you can copy your project’s folder and paste it to any workspace that you wish, even the same workspace as the original project.

BMontanari_1-1702562007744.png

 

For this example, create another workspace just for the cloned project called “Cloned_Project.” In the new workspace folder, paste the project’s folder and change its name. The new project’s name has a “Clone” written at the end to facilitate the identification:

BMontanari_2-1702562007744.png

Inside the cloned project’s folder, we have six files in total to be renamed. These files are further detailed later in the article. The files are:

  • .ioc
  • .project
  • CM4 .project
  • CM4 .cproject
  • CM7 .project
  • CM7 .cproject

You can use any editor of your choice to do so. In this article, we use Notepad++. Starting with the easiest one to be renamed, you can change the .ioc file just by clicking its name and changing it, like the figure below:

BMontanari_3-1702562007745.png

For the .project file, you need to right-click it and choose to edit it with your preferred toolchain, which is Notepad++ in this case:

BMontanari_4-1702562007746.png

 

At the Notepad++ editor, you only need to change the project’s old name for the new one and save the file, as the figure below:

BMontanari_5-1702562007751.png

 

At the CM4 folder, the same procedure is done with the .project and .cproject:

BMontanari_6-1702562007755.png

Starting with the .project file, right-click it and select to edit with Notepad++:

BMontanari_7-1702562007756.png

 

For this file you can do the same as the last one, simply by changing the name and saving the file.

BMontanari_8-1702562007761.png

 

Going to the .cproject, it is recommended to use the "replace" feature since it has four instances containing the project’s old name. You can replace all the instances of “HSEM_H745ZI_CM4” with “HSEM_H745ZI_Clone_CM4” by using the shortcut [Ctrl + H]. Remember to save the modified files.

BMontanari_9-1702562007764.png

You can repeat this process for the CM7 folder, by changing the name on the .project and .cproject equally as explained before.

BMontanari_10-1702562007769.png

In case one of the cores has a Debug.launch file, such as the CM7 in this project, it means that the original project was already launched or debugged before. You can also change this file’s name by clicking on it and changing it as the image above.

With all these modifications done, you can open the project by double-clicking the .project file (HSEM_H745ZI_Clone\.project). Then, you can give it a build and work with your cloned project as you want.

BMontanari_11-1702562007769.png

Happy coding, and thanks for reading. 


References

STM32H745/755 and STM32H747/757 advanced Arm<Sup>®</Sup>-based 32-bit MCUs - Reference manual

Dual Core Debugging on STM32H7 with STM32CubeIDE - YouTube

STM32CubeIDE - procedure for cloning a project - STMicroelectronics Community

Notepad++

STM32CubeIDE Software

 

Version history
Last update:
‎2023-12-27 05:03 AM
Updated by: