Fullscreen
Loading...
 
Print

Creating a new project

Create a STM32 executable project

The C/C++ Embedded project is a C/C++ project. It is available in a new C/C++ project wizard. To create a new C Embedded executable project, go to File => New => Project… and select a C/C++ => C Project.

Enter a new project name then select “Ac6 STM32 MCU Project” under the “Executable” section. Choose the Ac6 STM32 MCU GCC from the displayed toolchain list.


Click on the "Next" button to confirm and go to the Select device page.



Create a STM32 static library project

To create a static library for STM32, go to File => New => Project… and select a C/C++ => C Project.

Enter a new project name then select “Ac6 STM32 MCU Project” under the “Static Library” section. Choose the Ac6 STM32 MCU GCC from the displayed toolchain list.


Click on the "Next" button to confirm and go to the Select device page.



Create a STM32 makefile project

If you have your own makefile, you can create a Makefile project and copy your makefile into the project. Your makefile will be used to build the project.
To create a makefile project for STM32, go to File => New => Project… and select a C/C++ => C Project.

Enter a new project name then select “Empty project” under the “Makefile project” section. Choose the Ac6 STM32 MCU GCC from the displayed toolchain list.


Click on the "Next" button to confirm and go to the Select device page.



Select device

On this page, select your STM32-based target board or create yout own new target. You can straight select the board on the "Board" chooser or filter the list of board by choosing the chip serie.


When a board is selected, some information about the chip are displayed on the bottom table.

For Executable project, click on "Next" button to configure the project settings and importing firmware.
For other project type, click on "Finish" to complete the project creation.

If you are working on your own custom board and want to add it to the IDE, click on the "Create a new board" button. For more information, please read Creating a custom board page.



Select project setting and import device firmware

On this page, configure the project.

You can create a full-empty project which means a project without ST firmware. Select the "No firmware" option. set the new project as empty project with a minimal linker script and startup code to develop your application from scratch or to manually configure and populate the project with board source code from firmware or from code generated by ST Microexplorer for example.

System Workbench for STM32 provides a procedure to import the ST firmwares. If you want to create a project with firmware, click on the library type you need to work with :
- Standard Peripheral Library
- Hardware Abstraction Layer

If this is the first time a project is created with the selected board, the wizard page asks to download the board firmware sources. Click on "Download target firmware" to download firmware with the selected peripheral library.

Wizard to create a new C/C++ project, installing firmware



Then, you can choose to "Extract all the firmware in a separate folder", the firmware folder will be imported into the workspace as a non-buildable project to make easier to populate your project. (By default, this side project is closed)

Populate device firmware into project


System Workbench for STM32 provides a mechanism to import the device drivers (CMSIS, peripherals, utilities) into your project or as an external static library project. It allows you to use all the board features.

To enable this mechanism, select the firmware library type you need (StdPeriph or Cube HAL) and check the button "Add low level drivers in project".


If you choose to populate the drivers into the working project sources, the drivers directories will be imported into your project directory.


If you choose to populate the drivers into a static external library, the drivers will be imported into a newly created library project. If an existing library project is found in the workspace, this library will be used instead of creating a new one. The project references and include values are automatically set.


Known Bug:
When creating a project, the following error message might be displayed : "Program "arm-none-eabi-gcc" not found in PATH". This is a known bug explained in this FAQ page .