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 peripherals.

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 command line 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 command line

    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

    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 chosen 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 chosen platform and “Finish”

grafik-20241216-123524.pnggrafik-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”

01.png02.png

The selected project should appear at the “Project Explorer” at the Code Composer Studio.