Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Embedded project] Embedded project structure

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.


There are no comments to display.

Part and Inventory Search

Blog entry information

Last update

More entries in Uncategorized

More entries from niciki