The Project Generator allows the user to create project files for supported IDEs, to simplify the development and make use of external tools provided by the board manufacturers and IDE creators.
IDEs supported are Code Composer Studio, STM32CubeIDE, e2 studio and Eclipse. GOAL also provides many board-specific templates to fully support the selected board and its peripherials.
The project generator itself is written in python3.
Requirements
Installation
The project generator is located at “goal/tools/make/gen_project”. Needed dependencies are installed with the commandline tool “pip3”.
user: ~/GOAL/tools/make/gen_project pip3 install -r requirements.txt
Usage
To generate a project:
Choose an appropriate project at the GOAL directory at commandline
user: ~ cd GOAL/projects/goal_pnio/01_simple_io/gcc
Select platform
user: ~/GOAL/projects/goal_pnio/01_simple_io/gcc make select No platform selected, choose a platform - OR - press <CTRL+c> and set the PLATFORM environment variable. Choose platform: [ 1] stm32_cube_f429_eth_stand_alone (gcc) Choice [1-1]: 1 Selected platform: [ 1] stm32_cube_f429_eth_stand_alone
Invoke the project generator and choose IDE and template
user: ~/GOAL/projects/goal_pnio/01_simple_io/gcc make gen_project Platform selected by .platform file: stm32_cube_f429_eth_stand_alone Please select a template - OR - press <CTRL+c> and set the GEN_PROJECT_TPL environment variable. Choose IDE: [ 1] ccstudio [ 2] e2stu [ 3] eclipse [ 4] stmcubeide Choice [1-4]: 4 Choose template: ... [12] port/stmcubeide_stm32generic_f429_nucleo_eth [13] port/stmcubeide_stm32generic_f429_nucleo_eth_stand_alone [14] port/stmcubeide_stm32generic_f429_nucleo_eth_stand_alone_freertos ... Choice [1-14]: 12 Selected template: [12] stmcubeide/port/stmcubeide_stm32generic_f429_nucleo_eth ...
The created project file is located at the IDE specific directory in the project location, e.g. “GOAL/projects/<protocol>/<application>/stmcubeide/port/stmcubeide_stm32generic_f429_nucleo_eth/.project”.
The created project can now be imported into the choosen IDE.