GOAL Project Generator

Introduction

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

  • Make

  • Python 3

  • Package Manager “Pip3”

  • Python3 Module “Jinja2”

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

Generate a Project

The following example describes the generation of a Profinet example application provided by port for an STM32 controller. To generate a project:

  1. Choose an appropriate project at the GOAL directory at commandline

    user: ~ cd GOAL/projects/goal_pnio/01_simple_io/gcc
  2. Select a 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: ... [ 3] stm32_cube_f429_eth_stand_alone (gcc) ... Choice [1-17]: 3 Selected platform: [ 3] stm32_cube_f429_eth_stand_alone
  3. Invoke the project generator and choose IDE and template

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.

Import the generated Project

The following Chapter describes the basic handling of the generated project file and how to import it into supported IDEs.

The following Chapters describe the basic steps to import generated or by GOAL provided projects into the choosen IDE. Please refer also to the specific Platforms Pages for additional information regarding the platform setup, debugging et cetera.

STM32CubeIDE

  1. Open the IDE and select “Import projects…” [1]

  2. Select “Existing Projects into Workspace”, [2] and select “Next >” [3]

  3. Browse search-directory by “Browse” [4] and navigate to the extracted GOAL delivery [5]

  4. Choose the appropriate protocol directory and apply with “Select” [6]

  5. Select the discovered project for your choosen platform and “Finish”

grafik-20241216-123524.png
grafik-20241216-123800.png

The selected project should appear at the “Project Explorer” at the STM32CubeIDE.

Code Composer Studio

  1. Open the ccstudio and select “Import projects…” [1]

  2. Select “CCS Projects” [2] and select “Next >” [3]

  3. Browse search-directory by “Browse” [4] and navigate to the extracted GOAL delivery [5]

  4. Choose the appropriate protocol directory and apply with “Select” [6]

  5. Select the discovered project and “Finish”