Configuration and building
The nRF Connect SDK build and configuration system is based on the one from Zephyr project, with some additions.
The figure below visualizes the tools and configuration methods in the nRF Connect SDK. All of them have a role in the creation of an application, from configuring the libraries or applications to building them.
CMake generates build files based on the provided
CMakeLists.txtfiles, which use information from Kconfig and devicetree. See the CMake documentation.
Devicetree describes the hardware.
Configuration System (Kconfig) generates definitions that configure the software.
Ninja (comparable to Make) uses the build files to build the program, see the Ninja documentation.
The compiler (for example, GCC compiler) creates the executables.
Read the guides in this section to learn how to use these tools and configuration methods in areas valid for all supported boards. Depending on the board you are working with, check also its hardware guide, as some nRF Series families have specific exceptions and rules to be applied on top of the general configuration procedures.
Make sure to consider Bootloaders and Device Firmware Updates already at this stage of the application development.