Skip to content

nRF Kconfig

The nRF Kconfig GUI is a graphical representation of the Kconfig options tree structure.

Installing from the Marketplace and VS Code

We recommend installing nRF Kconfig through the nRF Connect Extension Pack, which includes all the extensions recommended for nRF Connect development.

To install the nRF Kconfig extension individually from the Visual Studio Code Marketplace, click the Install button. This opens and installs the extension in your VS Code editor.

To install the nRF Kconfig extension from within VS Code:

  1. Click on the Extensions View in the Activity Bar.
  2. Type nRF Kconfig in the search box.
  3. Click on the extension published by Nordic Semiconductor.
  4. Click the Install button on the nRF Kconfig extension screen.

Installing a specific build

It is also possible to install specific releases using VSIX file.

  1. Open Visual Studio Code and run the Install from VSIX... command, either through the command palette Ctrl+Shift+P or by opening the Extensions View in the Activity Bar.
  2. Click the ... menu in the top corner.
  3. Locate the VSIX package and click Install.
  4. Reload Visual Studio Code when prompted.

Configuration

The Kconfig extension's environment and parameters are fully configurable. See the extension's Configuration tab for details.

Setting up Zephyr

Assuming that the Zephyr Project environment is set up with west, the extension will work without any configuration needed.

Note

The extension requires west version 0.7.0 and newer to work out of the box. For older versions of West, the Zephyr base directory has to be configured manually.

The entire Kconfig tree, including external modules, is parsed on startup and all features will be available as soon as the parsing is complete. This typically takes only 1-2 seconds after the extension has been activated, and if everything went smoothly, a report will pop up in the Status Bar at the bottom of the screen detailing the number of entries found as well as the time spent parsing. The number of entries found should be in the range of 5000-10000 depending on configuration and module set.

The Zephyr Project modules (external projects used by Zephyr) are retrieved with west, in accordance with the module.yml file specification.

The active board is displayed on the Status Bar when editing configuration files such as prj.conf:

Zephyr board

To change boards, click the board name on the Status Bar, or run the Kconfig: Set board for Zephyr command from the Command Palette. This brings up a quick select menu populated by west boards. The board selection has no effect on the Kconfig file parsing, it only comes into effect when working in configuration files.

The Zephyr configuration can be completely overridden through the extension configuration menu.

Note

DeviceTree choice macros, like $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_PARTITION)) are not supported, and their configuration values will not be evaluated.

Back to top