Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

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 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 choosen IDE.

Import the generated Project

The follwoing 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 directoy and apply with “Select” [6]

  5. Select the discovered project for your choosen 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 directoy 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.

  • No labels