Understanding the directory structure
Previous: Set up your environment
This project’s main directories are explained below. You can view this as a map to regularly refer back to as you navigate and become more acquainted with the code.
├── build
│ ├── posix
│ ├── s32k148-clang
│ └── s32k148-gcc
├── cmake
│ ├── modules
│ ├── presets
│ └── toolchains
├── doc
├── executables
│ ├── referenceApp
│ └── unitTest
├── libs
│ ├── bsp
│ ├── bsw
│ └── os
├── platforms
│ ├── posix
│ └── s32k1xx
└── tools
admin
: holds platform-specific build adaptation files.
In particular the cmake
subdirectory contains platform-specific settings for the build environment.
doc
: holds some of the RST (reStructuredText) documentation files from which this documentation is built.
Most libraries also contain their own RST documentation along-side their code and all these are pulled together
when this documentation is built, as can be seen in the index on the left.
build/[preset]
: holds build artifacts & executables created by cmake
for different [presets]
.
For example if you build for the posix
platform the directory build/posix
is created.
executables
: holds application-specific code (not the built executables).
The referenceApp
subdirectory contains an example application.
Within referenceApp
you will find app.cpp
which contains for bring-up/tear-down of systems by the lifecycle manager
and application-specific configuration code.
libs
: holds shared library code which is reused across many projects.
libs/bsp
contains BSP (Board Support Package) libraries,
libs/bsw
contains BSW (Base Software) shared libraries and
libs/os
contains FreeRTOS operating system code.
platforms
: contains platform-specific code, that can be reused by multiple applications.
tools
: holds any tools used in the project
Next: Using the console