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