The background:
Standards in general are useful as far as they are not overwhelming. In this blog entry I would like to present my embedded project structure. I keep it for every new project for easier navigation throughout project's domains and to speed up project creation.
My embedded project structure:
Names of subfolders are rather straightforward, but even than let me describe it to left no space for any misunderstanding:
.vscode - Visual Studio Code folder (since I've started to use VSCode, it has become my everyday editor and basic IDE) with defines/includes and predefined building tasks that uses Scripts subfolder;
Application - it contains that part of the project which is "application specific", i.e. contains Inc/Src and Startup subfolders;
ci_tmp - a place where all CI (Continues Integration) output goes, it is a folder that gitlab-ci returns as an artefact;
Documentation - additional project documentation that is needed for some reason at a time (hand in hand with a Doxygen comments in code);
Production - contains generated firmware in form that is useful for a production;
Projects - contains project's files for MDK-ARM, IAR, STM32CubeIDE, etc.;
Scripts - contains building scripts that are used in VSCode or in STM32CudeIDE to integrate desired IDE toolchain, e.g. Keil's toolchain, IAR's toolchain, etc. (at the time of writing, only Keil's related scripts are available on the gitlab's repo below);
Submodules - separated place in the project with a third party repos used in a desired project as submodules;
Tests - testing scripts and Node-RED flows for testing purposes.
My embedded project structure can be found here:
------------------------------------------------------
Is this blog entry helpful or does it need an improvement?
Please leave the comment below.
Standards in general are useful as far as they are not overwhelming. In this blog entry I would like to present my embedded project structure. I keep it for every new project for easier navigation throughout project's domains and to speed up project creation.
My embedded project structure:
Names of subfolders are rather straightforward, but even than let me describe it to left no space for any misunderstanding:
.vscode - Visual Studio Code folder (since I've started to use VSCode, it has become my everyday editor and basic IDE) with defines/includes and predefined building tasks that uses Scripts subfolder;
Application - it contains that part of the project which is "application specific", i.e. contains Inc/Src and Startup subfolders;
ci_tmp - a place where all CI (Continues Integration) output goes, it is a folder that gitlab-ci returns as an artefact;
Documentation - additional project documentation that is needed for some reason at a time (hand in hand with a Doxygen comments in code);
Production - contains generated firmware in form that is useful for a production;
Projects - contains project's files for MDK-ARM, IAR, STM32CubeIDE, etc.;
Scripts - contains building scripts that are used in VSCode or in STM32CudeIDE to integrate desired IDE toolchain, e.g. Keil's toolchain, IAR's toolchain, etc. (at the time of writing, only Keil's related scripts are available on the gitlab's repo below);
Submodules - separated place in the project with a third party repos used in a desired project as submodules;
Tests - testing scripts and Node-RED flows for testing purposes.
My embedded project structure can be found here:
Daniel N / Keil_integration_into_VSCode_and_STM32CubeIDE
Bunch of scripts that integrate Keil's project and toolchain into VSCode and STM32CubeIDE.
gitlab.com
------------------------------------------------------
Is this blog entry helpful or does it need an improvement?
Please leave the comment below.