nRF Configuration Options¶
Kconfig
files describe build-time configuration options (called symbols
in Kconfig-speak), how they’re grouped into menus and sub-menus, and
dependencies between them that determine what configurations are valid.
Kconfig
files appear throughout the directory tree. For example,
subsys/power/Kconfig
defines power-related options.
This documentation is generated automatically from the Kconfig
files by
the gen_kconfig_rest.py
script. Click on symbols for more
information.
Configuration Options¶
Symbol name |
Help/prompt |
---|---|
Build from source |
|
Skip building 802154_RPMSG |
|
Enable ADP536x. |
|
I2C bus name |
|
A library to simplify switching between A-GPS data sources. |
|
To use nRF Cloud as A-GPS data source, a connection to nRF Cloud must already be established. When a request for A-GPS data is sent to nRF Cloud, the response will be received on the same socket as all other nRF Cloud communication, and the data will have to be processed further in the application. |
|
Note that a request for A-GPS data using SUPL service will block until the data is received from the SUPL server, processed and written to the GPS module. |
|
SUPL host name |
|
SUPL port |
|
Add Alexa Gadgets Proto header files to the ‘app’ include path. |
|
Add Edge Impulse header files to the ‘app’ include path. It may be disabled if the include paths for Edge Impulse are causing aliasing issues for ‘app’. |
|
Link application with Zigbee subsystem |
|
Library file to find the symbol table for the entry veneers. The library will typically come from building the Secure Firmware that contains secure entry functions, and allows the Non-Secure Firmware to call into the Secure Firmware. |
|
AT Command driver |
|
AT Command driver init priority |
|
AT command parser library |
|
Maximum number of queued AT commands |
|
Maximum AT command response length |
|
Initialize the AT Command driver during system init |
|
AT thread priority level |
|
AT thread stack size |
|
The maximum allowed length of an AT command passed through the AT host. The space is allocated statically. This limit is in turn limited by Modem library’s NRF_MODEM_AT_MAX_CMD_SIZE. |
|
AT Host Library for nrf91 |
|
AT host workqueue thread priority level |
|
UART 0 |
|
UART 1 |
|
UART 2 |
|
If the selected UART has error conditions during init caused by e. g. a floating RX line during boot, at_host will clear the errors and retry for this amount of time. |
|
A library for managing AT-command notifications. |
|
Initialize the AT-command notification manager during system init |
|
AWS Jobs FOTA library |
|
Security tag to be used for downloads |
|
File path buffer size |
|
Hostname buffer size |
|
MQTT payload reception buffer size for AWS IoT Jobs messages |
|
Max amount of time in seconds to wait for a document update response |
|
AWS IoT library |
|
Amount of entries in the application subscription list |
|
Request the device shadow automatically upon a connection to AWS |
|
AWS IoT server hostname |
|
Client ID provided by application run-time |
|
Maximum length of cliend id |
|
Static client id |
|
Enable polling on MQTT socket in AWS IoT backend |
|
Configure AWS IoT library to use IPv6 addressing. Otherwise IPv4 is used. |
|
If this option is set a configurable last will topic and message is provided by the device in the MQTT CONNECT message. Upon a disconnect from the AWS IoT broker the broker will publish the last will message to the last will topic. |
|
Message published to the last will topic |
|
Topic that the last will message is published to |
|
Size of the MQTT PUBLISH payload buffer (receiving MQTT messages). |
|
Specifies maximum message size can be transmitted/received through MQTT (exluding MQTT PUBLISH payload). |
|
AWS server port |
|
Security tag to use for AWS IoT connection |
|
Enable use of static IPv4 |
|
Static IPv4 address |
|
Subscribe to delete accepted shadow topic, $aws/things/<thing-name>/shadow/delete/accepted |
|
Subscribe to delete rejected shadow topic, $aws/things/<thing-name>/shadow/delete/rejected |
|
Subscribe to get accepted shadow topic, $aws/things/<thing-name>/shadow/get/accepted |
|
Subscribe to get rejected shadow topic, $aws/things/<thing-name>/shadow/get/rejected |
|
Subscribe to update accepted shadow topic, $aws/things/<thing-name>/shadow/update/accepted |
|
Subscribe to update delta shadow topic, $aws/things/<thing-name>/shadow/update/delta |
|
Subscribe to update rejected shadow topic, $aws/things/<thing-name>/shadow/update/rejected |
|
AWS Jobs library |
|
Azure FOTA library [EXPERIMENTAL] |
|
The application version is reported to the device twin and indicates the current firmware version on the device. |
|
Automatically create app version string using the output from the git command ‘git describe’ |
|
Port number |
|
File path buffer size |
|
Hostname buffer size |
|
Job ID string buffer size |
|
A security tag is a positive integer that serves as pointer to the location of the relevant certificates in the certificate storage of the device. A value of -1 indicates that no certificates are provisioned, which in most cases mean that a TLS connection will not be successfully established. |
|
Currently, the transport protocol must be configured at compile time. Disable this option to use HTTP without security. |
|
Version string buffer size |
|
Azure IoT Hub [EXPERIMENTAL] |
|
Request device twin automatically when connected |
|
Device ID to be used when connecting to IoT hub and optionally DPS. Providing a device ID can also be done run-time if AZURE_IOT_HUB_DEVICE_ID_APP is selected. |
|
Provide device ID run-time |
|
Maximum length of device ID |
|
Enabling DPS will make the device connect to the specified DPS host name, provision the device and retrieve the IoT hub host name to use. The registration ID will be set to AZURE_IOT_HUB_DEVICE_ID if it is provided, or alternatively the device ID provided by the application if AZURE_IOT_HUB_DEVICE_ID_APP is enabled. |
|
DPS host name |
|
DPS ID scope |
|
Azure IoT Hub hostname |
|
Max length for Azure IoT Hub name |
|
Size of the MQTT PUBLISH payload buffer (receiving MQTT messages). |
|
Specifies maximum message size can be transmitted/received through MQTT (exluding MQTT PUBLISH payload). |
|
Azure IoT Hub port |
|
The maximum number of property bags that can be parsed from a topic. Increasing this value will increase stack usage when parsing topics, and vice versa if decreasing it. |
|
Security tag where TLS credentials are stored. |
|
Connection thread stack size |
|
Enable use of static IPv4 |
|
Static IPv4 address |
|
Azure IoT Hub uses dynamically constructed topics to transfer information elements such as response codes, direct method names and property bag keys and values. This option configures the maximum length of such an element. Note that all values are also represented as strings, regardless of their content, so a boolean or a number will require its length as a string, and not the size of its binary representation. |
|
Sets the maximum length of a topic. If a user plans to make extensive use of property bags, it should be considered to increase this value to fit the topic into the allocated buffers. |
|
This option adds a ‘?’ before the property bag value for the event topics. Example devices/{device_id}/messages/events/?{property_bag}. |
|
Build from source |
|
Skip building B0 |
|
Use hex file instead of building B0 |
|
B0 hex file |
|
Use minimimum partition size |
|
Enable driver for BH1749 sensors. |
|
Trigger for BH1749 |
|
Can be selected to force at least OPTIONAL |
|
Can be selected to force REQUIRED |
|
Provide this EXT_API to other images. |
|
Flags for the $(EXT_API) EXT_API. |
|
Unique ID for the $(ABI) ABI. |
|
The maximum requested version for the $(EXT_API) EXT_API. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as optional. The user must check that it is present before using it. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as required. |
|
Don’t request the BL_ROT_VERIFY EXT_API. |
|
The current or requested version for the $(EXT_API) EXT_API. This config is used by both the provider and client of the EXT_API. |
|
Can be selected to force at least OPTIONAL |
|
Can be selected to force REQUIRED |
|
Provide this EXT_API to other images. |
|
Flags for the $(EXT_API) EXT_API. |
|
Unique ID for the $(ABI) ABI. |
|
The maximum requested version for the $(EXT_API) EXT_API. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as optional. The user must check that it is present before using it. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as required. |
|
Don’t request the BL_SECP256R1 EXT_API. |
|
The current or requested version for the $(EXT_API) EXT_API. This config is used by both the provider and client of the EXT_API. |
|
Can be selected to force at least OPTIONAL |
|
Can be selected to force REQUIRED |
|
Provide this EXT_API to other images. |
|
Flags for the $(EXT_API) EXT_API. |
|
Unique ID for the $(ABI) ABI. |
|
The maximum requested version for the $(EXT_API) EXT_API. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as optional. The user must check that it is present before using it. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as required. |
|
Don’t request the BL_SHA256 EXT_API. |
|
The current or requested version for the $(EXT_API) EXT_API. This config is used by both the provider and client of the EXT_API. |
|
Can be selected to force at least OPTIONAL |
|
Can be selected to force REQUIRED |
|
Provide this EXT_API to other images. |
|
Flags for the $(EXT_API) EXT_API. |
|
Unique ID for the $(ABI) ABI. |
|
The maximum requested version for the $(EXT_API) EXT_API. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as optional. The user must check that it is present before using it. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as required. |
|
Don’t request the BL_VALIDATE_FW EXT_API. |
|
The current or requested version for the $(EXT_API) EXT_API. This config is used by both the provider and client of the EXT_API. |
|
Absolute path to PEM key file containing the private key corresponding to the public key included in MCUBoot. This will be used to sign the image so that it can be verified by MCUBoot. Since MCUBoot is not built from source, it is not possible for the build system to deduce what key was used when compiling it. Hence, it is required that the key is passed to the build system through this option. |
|
This setting is deprecated. Use NRF_MODEM_LIB instead. |
|
This setting is deprecated. Use NRF_MODEM_LIB_SYS_INIT instead. |
|
This setting is deprecated. Use NRF_MODEM_LIB_TRACE_ENABLED instead. |
|
Enable Alexa Gadgets service. |
|
Device type identifier allocated by Amazon. |
|
Enable support for Alerts capability. |
|
Enable support for SpeechData capability. |
|
Specify name of the custom interface. |
|
Enable support for Music Data capability. |
|
Enable support for Notifications capability. |
|
Enable support for SpeechData capability. |
|
Enable support for StateListener capability. |
|
Short device description. |
|
Device secret allocated by Amazon. As this is considered a secret value, enable flash readback protection accordingly. |
|
Alexa Gadget model name. Not a token allocated by Amazon. |
|
Enable Alexa Gadgets OTA protocol. |
|
Enable Alexa Gadgets profile. |
|
Maximum size of a single transaction. This should be big enough to cover the Discovery handshake, which is normally the largest transaction. Note that capability count, device name, model name, etc. affects this. |
|
Enable Battery Service Client. |
|
Bond Management Service |
|
Enable the Bluetooth connection context library. This library helps maintaining per-connection context data. |
|
The memory buffer must be aligned to an N-byte boundary, where N is a power of 2 larger than 2 (i.e. 4, 8, 16, …). |
|
Enable Current Time Service client. |
|
Enable GATT DFU SMP Service Client. |
|
Enable the quirk wherein BT Host stack will auto-initiate Data Length Update procedure for new connections for controllers that do not auto-initiate the procedure if the default data length parameters are not equal to the initial parameters. This has to be enabled when the BLE controller connected is Zephyr open source controller. |
|
The EnOcean library implements support for commissioning and observing of BLE enabled EnOcean devices, such as the PTM 215B Pushbutton transmitter module. |
|
Use this option to enable debug logs for the Bluetooth Enocean functionality. |
|
This value defines the maximum number of EnOcean devices this library can manage at a time. Each device requires about 30 bytes of RAM. |
|
Stores all commissioned devices persistently, including periodic samples of the device sequence number. |
|
Defines whether the sequence numbers of incoming EnOcean packets should be stored persistently. The sequence number is used in replay attack protection, and unless it is stored, third parties will be able to replay EnOcean messages after a power cycle. |
|
This parameter controls the duration of the write delay. Whenever new EnOcean data is received, the library will start a timer that stores the sequence number when it expires. Reducing this timer shortens the timespan in which attackers could replay a message, but increases the wear on the storage medium. |
|
Maximum number of characteristic descriptors that can be stored in the pool. |
|
Enable BLE GATT Discovery Manager library |
|
Enable functions for printing discovery related data |
|
Maximum number of attributes that can be present in the discovered service. |
|
Enable pools for UUID, characteristics and CCCD descriptors. |
|
Enable functions for printing module statistics |
|
Maximum number of 128-bit UUID descriptors that can be stored in the pool. |
|
Maximum number of 16-bit UUID descriptors that can be stored in the pool. |
|
Maximum number of 32-bit UUID descriptors that can be stored in the pool. |
|
Stack size needed for executing bt_send with specified driver. NOTE: This is an advanced setting and should not be changed unless absolutely necessary |
|
Enable BLE GATT Human Interface Device service. |
|
Maximum number of GATT attribute descriptors that can be set for HIDS. |
|
Read and write allowed |
|
Require encryption using authenticated link-key for access |
|
Require encryption for access |
|
Maximum number of HIDS Feature Reports that can be set for HIDS. |
|
Maximum number of HIDS Input Reports that can be set for HIDS. |
|
The maximum number of devices that HID can connect to. |
|
Maximum number of HIDS Output Reports that can be set for HIDS. |
|
Enable HID GATT Human Interface Device service client. |
|
The number of reports supported by all the HIDS clients used. The report pool would be common to all HIDS client objects created. |
|
Enable Nordic GATT Latency BLE service. |
|
Enable Nordic GATT Latency client. |
|
Enable Led Button service. |
|
Enable support for button state polling (button state change notify always supported) |
|
Maximum number of simultaneous Bluetooth connections supported. |
|
Enable mesh Generic Battery Client model. |
|
Enable mesh Generic Battery Server model. |
|
Basic implementation of a Bluetooth mesh provisioning handler for the nRF5x development kits. Configures the UUID and handles some basic OOB methods. Used in samples as a reference implementation for provisioning handlers. |
|
Enable blink output OOB method |
|
Enable button input OOB method |
|
Enable log based OOB methods |
|
Enable mesh Generic Default Transition Time Client model. |
|
Enable mesh Generic Default Transition Time Server model. |
|
Enable persistent storage for the Default Transition Time state. |
|
Represent the Light Lightness light level state on a perceptually uniform lightness scale. |
|
Enable mesh Light Lightness Client model. |
|
Represent the Light Lightness light level state on a linear scale. |
|
Enable mesh Light Lightness Server model. |
|
Enable mesh Light CTL Client model. |
|
Enable mesh Light CTL Server model. |
|
Enable mesh Light Lightness Control Client model. |
|
Enable mesh Light Lightness Control Server model. |
|
Default target light level for the controlled Lightness Server in the On state. May be reconfigured at runtime by other models in the mesh network. |
|
Default target light level for the controlled Lightness Server in the Prolong state. May be reconfigured at runtime by other models in the mesh network. |
|
Default target light level for the controlled Lightness Server in the Standby state. May be reconfigured at runtime by other models in the mesh network. |
|
Default delay (in milliseconds) from when an occupancy sensor detects occupancy until the server goes to the On state. May be reconfigured at runtime by other models in the mesh network. |
|
If occupancy mode is enabled, lights will turn on when motion is detected. If occupancy mode is disabled, motion may only postpone dimming of lights that have been manually turned on. May be reconfigured at runtime by other models in the mesh network. |
|
Enable the Lightness PI Regulator for controlling the lightness level through an illuminance sensor feedback loop. |
|
Default value for the regulator’s accuracy (in percent). The accuracy determines the regulator’s dead zone around the target value, where no corrections are made for fluctuating sensor values. The accuracy should account for both sensor inaccuracies and system instability, to avoid making constant adjustments. May be reconfigured at runtime by other models in the mesh network. |
|
Update interval of the Light LC Server model’s internal PI regulator (in milliseconds). |
|
Default value for the Kid (negative integral) coefficient for the lightness regulator. May be reconfigured at runtime by other models in the mesh network. |
|
Default value for the Kiu (positive integral) coefficient for the lightness regulator. May be reconfigured at runtime by other models in the mesh network. |
|
Default value for the Kpd (negative proportional) coefficient for the lightness regulator. May be reconfigured at runtime by other models in the mesh network. |
|
Default value for the Kpu (positive proportional) coefficient for the lightness regulator. May be reconfigured at runtime by other models in the mesh network. |
|
Target ambient illuminance for the On state (in lux). May be reconfigured at runtime by other models in the mesh network. |
|
Target ambient illuminance for the Prolong state (in lux). May be reconfigured at runtime by other models in the mesh network. |
|
Target ambient illuminance for the Standby state (in lux). May be reconfigured at runtime by other models in the mesh network. |
|
Time to wait before storing changes to the Light LC Server’s configuration and state. Effectively the minimum interval of changes. |
|
Default transition time (in milliseconds) for the controlled Lightness Server when entering the On state. May be reconfigured at runtime by other models in the mesh network. |
|
Default transition time (in milliseconds) for the controlled Lightness Server when entering the Prolong state. May be reconfigured at runtime by other models in the mesh network. |
|
Default transition time (in milliseconds) for the controlled Lightness Server when entering the Standby state in auto mode. May be reconfigured at runtime by other models in the mesh network. |
|
Default transition time (in milliseconds) for the controlled Lightness Server when entering the Standby state in manual mode. May be reconfigured at runtime by other models in the mesh network. |
|
When turning the lights off with a light switch, the Light LC Server enters manual mode, which disables input from occupancy sensors. Use this configuration option to control the duration of the manual mode (fade time included). Note that the occupancy sensors will always be disabled while fading to Standby in manual mode, so making the manual mode time shorter than this has no effect. |
|
After fading to the right level, the controlled Lightness Server will remain in the On state until this timer expires, unless some activity occurs. May be reconfigured at runtime by other models in the mesh network. |
|
After fading to the right level, the controlled Lightness Server will remain in the Prolong state until this timer expires, unless some activity occurs. May be reconfigured at runtime by other models in the mesh network. |
|
Enable Mesh Light HSL Client model. |
|
Enable Mesh Light HSL Server model. |
|
Enable Mesh Light Hue Server model. |
|
Enable Mesh Light Saturation Server model. |
|
Enable mesh Light CTL Temperature Server model. |
|
Enable Mesh Light xyL Client model. |
|
Enable Mesh Light xyL Server model. |
|
Enable mesh Generic Location Client model. |
|
Enable mesh Generic Location Server model. |
|
Enable mesh Generic Level Client model. |
|
Enable mesh Generic Level Server model. |
|
Common mesh model support modules, required by all Nordic BT mesh models. |
|
Enable mesh Generic OnOff Client model. |
|
Enable mesh Generic OnOff Server model. |
|
Enable mesh Generic Power Level Client model. |
|
Enable mesh Generic Power Level Server model. |
|
Enable mesh Generic Power OnOff Client model. |
|
Enable mesh Generic Power OnOff Server model. |
|
Enable mesh Generic Property Client model. |
|
The largest number of Generic Property values that can be listed by a Generic Property Server. Each Property ID is 2 bytes long, and the full list plus a 1 byte overhead must fit within a full TX packet payload (see BT_MESH_TX_SEG_MAX). |
|
The upper boundary of a Generic Property value’s size. The entire value with an 4 byte overhead must fit within a full TX packet payload (see BT_MESH_TX_SEG_MAX). |
|
Enable mesh Generic Property Server models. |
|
Max number of scenes that can be stored by a single Scene Server. |
|
Enable mesh Scene Client model. |
|
Enable mesh Scene Server model. |
|
Enable Mesh Scheduler Client model. |
|
Enable Mesh Scheduler Server model. |
|
Forces all sensor types to be included in the build. This is useful if the set of sensor types that will be used is unknown at compile time, but increases ROM usage by about 3.5kB (4kB if labels are enabled). |
|
Max number of channels in a single sensor. Matches the largest known number by default. |
|
Longest encoded representation of a single sensor channel. Matches the largest known size by default. |
|
Enable mesh Sensor Client model. |
|
Controls the availability of sensor labels for channels and units |
|
Enable mesh Sensor Server model. |
|
The upper boundary of a Sensor Server’s sensor count. |
|
Max number of settings parameters each sensor in the server can have. Only affects the stack allocated response buffer for the Settings Get message. |
|
Enable mesh Time Client model. |
|
This value defines the maximum delay of one mesh message hop in milliseconds. |
|
Enable mesh Time Server model. |
|
This value defines the clock drift in microseconds per second, and is used to calculate overall time uncertainty for the Bluetooth mesh Time Server model. |
|
Enable persistent storage for the Time state. |
|
Common Bluetooth GATT Services support modules, required by all Nordic Services. |
|
Enable Nordic UART service. |
|
Enable BLE GATT Nordic UART service client. |
|
Size of the receiving thread stack. This is the context from which all event callbacks to the application occur. The default value is sufficient for basic operation, but if the application needs to do advanced things in its callbacks that require extra stack space, this value can be increased to accommodate for that. |
|
Enable BLE Scan library |
|
Number of address filters |
|
Number of appearance filters |
|
Scanning device blocklist. Scanning module ignores any devices which are on this list. |
|
Maximum blocklist devices count. |
|
Connection attempts count. Defines how many times the device will try to connect with a given peripheral. |
|
Connection attempts filter. This filter limits the number of attempts to connect to the device. |
|
The maximum number of the filtered devices by the connection attempts filter. |
|
Enabling filters for the Scan library. |
|
Number of manufacturer data filters |
|
“Maximum size for the manufacturer data to search in the advertisement report.” |
|
Number of name filters |
|
“Maximum size for the name to search in the advertisement report.” |
|
Number of short name filters |
|
Maximum size of the short name to search for in the advertisement report. |
|
Number of filters for UUIDs |
|
Enable Nordic GATT throughput BLE service. |
|
Build upgrade candidate of image for alternative slot S1. |
|
When enabled, this option instructs the Zephyr build process to additionaly generate a TF-M image for the Secure Execution environment, along with the Zephyr image. The Zephyr image itself is to be executed in the Non-Secure Processing Environment. The required dependency on TRUSTED_EXECUTION_NONSECURE ensures that the Zephyr image is built as a Non-Secure image. Both TF-M and Zephyr images, as well as the veneer object file that links them, are generated during the normal Zephyr build process.
|
|
Support code generated by cddl-gen module |
|
Enable the cJSON Library |
|
MQTT Client ID length |
|
Cloud API |
|
Send and receive CoAP non-confirmable requests. Utilize CoAP and Modem libraries. |
|
Enable the CPU load measurement instrumentation. This tool is using one TIMER peripheral and PPI to perform accurate CPU load measurement. |
|
After enabling this option, the sleep period measurement is done using the same clock source as the active period, and one additional PPI channel is used. If you use the internal RC oscillator for at least one of the clock sources (high or low frequency), this option will ensure more accurate results. Enabling this option allows going to low power idle mode because the high frequency clock is not used by this module. |
|
Enable shell commands |
|
Logging interval for CPU load [ms] |
|
INFO level must be enabled to get the log. |
|
Timer 0 |
|
Timer 1 |
|
Timer 2 |
|
Timer 3 |
|
Timer 4 |
|
DPPIC tasks and events can be assigned only to a single channel. When enabled, module will use channels to which events are already subscribed but will not enable it, relying on primary owner of the channel. Without special care, it may lead to cpu_load misfunction. On the other hand, it enables usage of cpu_load when events are used by the system. If disabled, cpu_load initialization fails when cannot allocate a DPPI channel. |
|
CR+LF Termination |
|
CR Termination |
|
Date time library |
|
Use IPv6 |
|
Get date time from the nRF9160 onboard modem |
|
Get date time from NTP servers |
|
Duration in which the library will query for NTP time, in seconds |
|
Stack size of the thread maintaining date time |
|
Setting this option to 0 disables sequential date time updates. |
|
Length of buffer for processing event message |
|
Include event type in the event log output |
|
Maximum number of event types |
|
Log events to Profiler |
|
Profile data connected with event |
|
This option controls if events are printed to console. |
|
This option controls if event handlers are printed to console. |
|
Trace events execution |
|
Device Firmware Upgrade target API |
|
Enable support for full updates to the modem firmware. Note that this requires an external flash. |
|
Enable support for updates that are performed by MCUboot. |
|
DFU_TARGET_MCUBOOT_SAVE_PROGRESS is deprecated, please use DFU_TARGET_STREAM_SAVE_PROGRESS instead. |
|
Enable support for updates to the modem firmware. |
|
Set the timeout in seconds for how long the code will wait when reading DFU_ERASE_PENDING from the modem. If the timeout is reached an DFU_TARGET_EVT_TIMEOUT is issued and a disconnect of the LTE link is recommended so that the modem has time to service the DFU_ERASE_PENDING request. It’s also possible to reboot the device to achive the same desired behavior. |
|
Generic DFU stream target |
|
Enable this option to cause dfu_target_stream to store the current write progress to flash. In case of power failure or device reset, the operation can then resume from the latest state. |
|
The flash patch can be used by malicious code to circumvent secure boot checks. Note that disabling flash patching also disables breakpoints. |
|
Button and LED Library for Nordic DKs |
|
Scanning interval of buttons in milliseconds |
|
Enable the runtime assignable button handler API |
|
Invert buttons pins on DK |
|
Invert LED pins on DK |
|
Download client |
|
Size of the internal buffer used for incoming and outgoing packets. It must be large enough to acommodate for the largest between the HTTP fragment and CoAP block. In case of CoAP, the CoAP header length of 20 bytes should be taken into account. |
|
128 |
|
256 |
|
512 |
|
1024 |
|
2048 |
|
256 |
|
4096 |
|
512 |
|
Prefer IPv6 protocol but fallback to IPv4 when the hostname can’t be resolved. |
|
Log protocol headers to console [Debug] |
|
Maximum filename length (stack) |
|
Maximum hostname length (stack) |
|
Always use HTTP Range requests when downloading (RFC 7233). This option can be useful to limit the amount of incoming data from the server by downloading only one fragment at a time. It increases the protocol overhead but also gives time to the application to process the fragments as they are downloaded, instead of having to keep up to speed while downloading the whole file. |
|
Enable shell |
|
Thread stack size |
|
Socket timeout for recv() calls, in milliseconds. When using HTTP or HTTPS, set a timeout to be able to detect when the server is not responding and client should give up. Set to -1 disable. |
|
Socket timeout for recv() calls, in milliseconds. When using CoAP, set a timeout to be able to detect when a retrasmission is necessary. Set to -1 disable. |
|
Enable Edge Impulse library. |
|
Request the build system to download the Edge Impulse library on each build. This results in the build target to always be considered out of date. If the re-downloaded zip has no code changes, then no re-building of source is performed and only download of zip file will be done. |
|
Specify URI used to access archive with Edge Impulse library. The library will be downloaded into build directory. Make sure to specify the HTTP API key header as EI_API_KEY_HEADER variable during build if the HTTP server uses it. You can also specify absolute file path of a local file. |
|
Enable Edge Impulse library wrapper in NCS. |
|
The buffer is used to store input data for the Edge Impulse library. Size of the buffer is expressed as number of floats. |
|
Run Edge Impulse library in debug mode |
|
It is recommended to use preemptive thread priority to make sure that the thread will not block other operations in system for a long time. |
|
Edge Impulse library processes the data in a low-priority thread. The stack size needs to be sufficient for used impulse. |
|
Enable Zigbee OTA maximum hw version |
|
Enable Zigbee OTA minimum hw version |
|
This option enables the Arm CC3xx RNG devices in nRF52840, nRF5340, and nRF9160 devices. This is dependent on CC3xx being enabled in nrf_security. |
|
This option enables the RNG peripheral, which is a random number generator, based on internal thermal noise, that provides a random 8-bit value to the host when read. |
|
nRF5X RNG IRQ priority. |
|
Enable ESB functionality. |
|
The maximum size of the payload. |
|
The maximum number of pipes allowed in the API. Can be used if you need to restrict the number of pipes used. The purpose is to prevent accidental use of additional pipes, but it’s not a problem leaving this at 8 even if fewer pipes are used. |
|
The length of the RX FIFO buffer, in number of elements. |
|
TIMER0 |
|
TIMER1 |
|
TIMER2 |
|
TIMER3 |
|
TIMER4 |
|
The length of the TX FIFO buffer, in number of elements. |
|
This option sets time in milliseconds between two consecutive RTT read attempts when input transfer is running. When transfer stopped some time ago driver will use ETH_POLL_PERIOD_MS again. |
|
RTT has no interrupt, so read have to be done using polling. This option sets time in milliseconds between two consecutive RTT read attempts when there is no input transfer for some time. When transfer is currently running ETH_POLL_ACTIVE_PERIOD_MS is used instead. |
|
This option enables network interface driver that sends and receives ethernet frames over RTT channel. The driver is intended primary for debugging and testing. |
|
Sets RTT channel that will be used to transfer ethernet frames in both directions. Channels 0 and 1 have special purpose defined by SEGGER, so it is safer to use channel 2 or above. This number must be smaller than SEGGER_RTT_MAX_NUM_UP_BUFFERS and cannot be used by any other module. |
|
Enabling this option prints out hex dumps of transferred data. There are four types of hex dumps: data that flows from RTT, data that flows to RTT, frames that are passed to network stack, frames that are get from network stack. This option will produce a lot of debug logs, so if you reading it make sure that logger did not discard something because of buffer overrun. |
|
Sets RTT buffer size for receiving ethernet frames. Smaller values will save the RAM, but will decrease the performance. |
|
This option sets the driver name. |
|
Specify a MAC address for the Ethernet over RTT network interface in the form of hex 8-bit chars separated by colons (e.g.: aa:33:cc:22:e2:c0). The default is an empty string, which selects random address (00:00:5E:00:53:xx) according to RFC 7042. |
|
Sets the Maximum Transmission Unit (MTU) for the Ethernet over RTT network interface. Ethernet default is 1500 and using different value may cause unpredictable behavior. Change this value only if you really known what you are doing. IPv4 requires at least 68 and IPv6 requires at least 1280. |
|
Sets RTT buffer size for sending ethernet frames. Smaller values will save the RAM, but will decrease the performance. |
|
Enable Event Manager. Note that Event Manager uses orphan sections to handle its data structures. |
|
Can be selected to force at least OPTIONAL |
|
Can be selected to force REQUIRED |
|
Provide this EXT_API to other images. |
|
Flags for the $(EXT_API) EXT_API. |
|
Unique ID for the $(ABI) ABI. |
|
The maximum requested version for the $(EXT_API) EXT_API. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as optional. The user must check that it is present before using it. |
|
Include client code for this EXT_API. This also puts a request for this EXT_API into the firmware info, marked as required. |
|
Don’t request the EXT_API_PROVIDE EXT_API. |
|
The current or requested version for the $(EXT_API) EXT_API. This config is used by both the provider and client of the EXT_API. |
|
Nordic internal, see cddl/CMakeLists.txt |
|
Full Modem Firmware Upgrade from flash device |
|
Set this option to skip prevalidation of the modem firmware. Note that the modem will still verify the validity of the modem firmmware before booting it, but only after it has been written to the modem. This option |
|
FOTA Download |
|
Buffer size must be aligned to the minimal flash write block size |
|
Emit progress event upon receiving a download fragment |
|
Number of retries for socket-related download issues |
|
Use hardware peripherals (BPROT, ACL, or SPU) to write-protect regions of flash until next reset. |
|
Block size of fprotect |
|
FTP client |
|
Define the heart-beat time. |
|
Define the wait time for receiving. |
|
Log FTP headers to Console [Debug] |
|
Connection over TLS |
|
Firmware Metadata |
|
When SB_MONOTONIC_COUNTER is enabled, the firmware version is limited to 15 bits since the monotonic counters are 16 bits and one bit is used to denote the slot the firwmare is in. |
|
Used to ensure binary compatibility. For more information, see FW_INFO_MAGIC_COMMON. |
|
Magic word for all structs (32 bits). This is used by different metadata structs (in fw_info.h and elsewhere). They each have their own magic word composed of three uint32_t values, where one is always this option (FW_INFO_MAGIC_COMMON). One of the uint32_ts is a compatibility ID constructed from FW_INFO_HARDWARE_ID, FW_INFO_VERSION, FW_CRYPTO_ID, and FW_INFO_MAGIC_COMPATIBILITY_ID, while the final uint32_t is completely different for each struct, e.g. FW_INFO_MAGIC_FIRMWARE_INFO. The bootloader expects a certain value for each struct, and if it attempts to read a struct without a matching magic word, the struct will be rejected. The config values here apply both to this build of the bootloader and to the metadata constructed for the app. Refer to this module’s CMakeLists.txt to see how the magic words are composed. |
|
User defined value. Used to ensure compatibility between bootloader and metadata. For more information, see FW_INFO_MAGIC_COMMON. |
|
Magic word value specific to EXT_API structs. For more information, see FW_INFO_MAGIC_COMMON. |
|
Magic word for firmware information structs (32 bits). Magic word value specific to firmware information structs (inside the firmware). For more information, see FW_INFO_MAGIC_COMMON. |
|
Total length of magic words (in bytes). For more information, see FW_INFO_MAGIC_COMMON. |
|
The location of firmware information inside the current firmware image. Valid values are 0x0, 0x200, 0x400, 0x800, and 0x1000. Compatible readers of firmware information should search all possible offsets. Note that all space between the vector table and this address is unused. |
|
The value fw_info::valid will have when valid. |
|
Version number of the fw_*_info structs (8 bits). Used to ensure binary compatibility. For more information, see FW_INFO_MAGIC_COMMON. |
|
Enable GPS simulator. |
|
Start-point latitude for simulated GPS data, from which the generated data will continue. Calculated by deg * 100000 + minutes * 1000, for example 63 deg 25.280’N will be 6325280. Positive values are North, while negative values are South. |
|
Start-point longitude for simulated GPS data, from which the generated data will continue. Calculated by deg * 100000 + minutes * 1000, for example 10 deg 26.201’E will be 1026201. Positive values are East, while negative values are West. |
|
Timestamp at which the simulator will start counting. Format is hour * 10000 + min * 100 + sec, which means that 13:46:27 becomes 134627. |
|
GPS simulator device name. |
|
Enables dynamically created simulator otuput as opposed to static values. |
|
GPS simulator will create a path that goes in an ellipsoid shape. |
|
Time in milliseconds that the GPS simulator will “search” before getting a position fix. |
|
Sets the maximum step size that can be taken in latitude or longitude for each simulation iteration. In units of 1/1000 degrees. |
|
Enables pseudo-random GPS coordinate creation. Based on uptime that’s input to a sine function, which causes the otuput to not be uniformally distributed, but sinusoidal. |
|
GPS simulator work queue stack size |
|
GPS simulator work queue (preemptive) priority |
|
Build from source |
|
Skip building HCI_RPMSG |
|
This option enables the Arm CC3xx hw devices in nRF52840, nRF53, and nRF9160 devices. |
|
This option can be enabled to force an alternative implementation of the Arm CC3xx hardware driver. |
|
Specify the device name to be used for the HW_CC3XX driver. |
|
iCalendar parser |
|
Size for internal buffer to store unparsed data. |
|
Maximum size of a DESCRIPTION property |
|
Maximum size of a DTEND property |
|
Maximum size of a DTSTART property |
|
Maximum size of a LOCATION property |
|
Maximum size of an iCalendar property |
|
Maximum size of a SUMMARY property |
|
This option is set by the first stage bootloader app to include all files and set all the options required. |
|
Current app is SPM |
|
LF Termination |
|
Sets log level for modules which don’t specify it explicitly. When set to 0 it means log will not be activated for those modules. Levels are:
|
|
Turn on to make the LTE Link Controller to automatically initialize and connect the modem before the application starts |
|
Enable request for use of eDRX using AT+CEDRXS. For reference, see 3GPP 27.007 Ch. 7.40. |
|
Sets the eDRX value to request. Half a byte in a four-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of the Extended DRX parameters information element. See 3GPP TS 24.008, subclause 10.5.5.32. The value 1001 corresponds to 163.84 seconds, and is valid for both LTE-M and NB-IoT networks. |
|
Enable legacy LTE Protocol Configuration Options mode |
|
nRF91 LTE Link control library |
|
Enable LTE band locks. Bands not enabled in LTE_LOCK_BAND_MASK cannot be used when this setting is enabled. |
|
Bit string of enabled bands. LSB is band 1. Leading zeroes can be omitted. The maximum length is 88 characters. |
|
Enable PLMN locks for network selection. |
|
Mobile Country Code (MCC) and Mobile Network Code (MNC) values. Only numeric string formats supported. |
|
LTE-M |
|
LTE-M and GPS |
|
NB-IoT |
|
NB-IoT and GPS |
|
Time period in seconds to attempt establishing an LTE link, before timing out. If fallback mode is enabled, the fallback mode will also be tried for the same period. |
|
When enabled, the network mode will be switched to the other available if the preferred fails to establish connection within specified timeout. If LTE-M is selected as the network mode, NB-IoT will be the fallback mode and vice versa. |
|
The +CGAUTH command specifies authentication parameters for a PDN connection. For reference, see 3GPP 27.007 Ch. 10.1.31. |
|
Enable PDP connection authentication using AT+CGAUTH. |
|
Maximum combined lengths of username and password strings |
|
Enable PDP define using AT+CGDCONT. |
|
The +CGDCONT command defines Packet Data Protocol (PDP) Context. For reference, see 3GPP 27.007 Ch. 10.1.1 |
|
Power saving mode setting for requested active time. See 3GPP 27.007 Ch. 7.38. And 3GPP 24.008 Ch. 10.5.7.3 for data format. |
|
Power saving mode setting for requested periodic TAU. See 3GPP 27.007 Ch. 7.38. And 3GPP 24.008 Ch. 10.5.7.4a for data format. |
|
Sets the Paging Time Window value to be requested when enabling eDRX. The allowed values for LTE-M and NB-IoT differ. The format is a string with half a byte in 4-bit format, corresponding to bits 8 to 5 in octet 3 of eDRX information element according to 10.5.5.32 of 3GPP TS 24.008. |
|
Sets Release Assistance Indication. Allowed values are “0”, “3” and “4” signifying disabled, control plane one response, and control plane no response, respectively. For reference see 3GPP 24.301 Ch. 9.9.4.25. |
|
Disable PLMN locks for network selection. |
|
A library for cellular connection management. |
|
Connect to certification servers instead of production servers. |
|
PSK of the custom bootstrap server. |
|
URI of the custom bootstrap server. |
|
Use a custom bootstrap PSK. |
|
Use a custom bootstrap URI. |
|
When the initialization is complete, the thread executing it then executes the main() routine, so as to reuse the stack used by the initialization, which would be wasted RAM otherwise. After initialization is complete, the thread runs main(). |
|
Maximum number of characters used to describe single event type |
|
Maximum number of stored custom event types |
|
Heap size for mbed TLS in bytes. For streaming communication with arbitrary (HTTPS) servers on the Internet, 32KB + overheads (up to another 20KB) may be needed. Ensure to adjust the heap size according to the need of the application. |
|
Hidden option used to indicate that the current image is MCUBoot |
|
Build from source |
|
Skip building MCUBOOT |
|
Use hex file instead of building MCUBOOT |
|
MCUBOOT hex file |
|
Value to be passed as ‘version’ argument to ‘imgtool.py’ when creating signed image. Note that no semantics are connected to this variable. It does not provide downgrade prevention, and is only valuable for debugging purposes. Format: maj.min.rev+build with latter parts optional. |
|
Serial Modem Firmware Update support |
|
nRF91 modem information library |
|
Add the name of the board to the returned device JSON object. |
|
Inlcude the real-time clock value read from the modem in the network information. Note, that if no time information is available in the network, the modem info readout might fail. |
|
Add the device information to the returned device JSON object. |
|
Add the network information to the returned device JSON object. |
|
Add the SIM card information to the returned device JSON object. |
|
Add the SIM card ICCID to the returned device JSON object. |
|
Add the SIM card IMSI to the returned device JSON object. |
|
Set the size of the buffer that contains the returned string after an AT command. The buffer is processed through the parser. |
|
Set the maximum number of parameters the parser will check for in any given string. |
|
nRF9160 modem key management library |
|
Controls if front-end module (FEM) is to be configured and enabled when MPSL is initialized. Default type of FEM to use depends on which compatible nodes are in devicetree. |
|
FEM device is nRF21540 and its control mode is GPIO. Note: nRF21540 is unavailable when Bluetooth LE is enabled |
|
The default value of 13 dB is based on nRF21540 Product Specification (v1.0) |
|
The default value of 20 dB is based on nRF21540 Product Specification (v1.0) and it corresponds to the configuration in which the pin MODE=0 and pin POUTA_SEL=0 |
|
FEM device has a generic two-pin control interface. This option was originally designed to support the SKY66112-11, but is potentially compatible with other devices with the same control method. |
|
Size of the signal handler thread stack, used to process lower priority signals in MPSL. |
|
Maximum number of timeslot sessions. |
|
Enable APIs for ensuring threadsafe operation. |
|
Use the default configuration for NCS samples. |
|
Add the empty_app_core as a child image for the given sample. Used by samples that only require SOC_NRF5340_CPUNET. |
|
Set maximal NDEF file size |
|
Sets NFC interrupt priority. Levels are from 0 (highest priority) to 6 (lowest priority) |
|
Enable NFC Data Exchange Format libraries |
|
The major version of the Connection Handover specification. |
|
The minor version of the Connection Handover specification. |
|
Enable NDEF Connection Handover message generator library |
|
NDEF Connection Handover parser library |
|
Enable NDEF Connection Handover records generator library |
|
NDEF LE OOB record generator library |
|
NDEF LE OOB record parser library |
|
NDEF Message generator library |
|
Enable NFC Data Exchange Format parser libraries |
|
Enable NFC Data Exchange Format Record Type definitions |
|
NDEF Record generator library |
|
Encoding data for a text record for NFC Tag |
|
Encoding data for a tnep record for NFC Tag |
|
NDEF URI messages generator library |
|
NDEF URI record generator library |
|
Enable common configuration for the NFC |
|
Enable NFC Type 2 Tag parser libraries |
|
Enable NFC Type 4 TAG APDU codec |
|
Enable NFC Type 4 TAG CC file |
|
Enable NFC Type 4 Tag High Level Procedure |
|
NFC Type 4 Tag APDU command buffer size in bytes |
|
NFC Type 4 Tag Capability Container buffer size in bytes |
|
Enable NFC Type 4 Tag ISO-DEP. |
|
NFC-A Type 4 Tag ISO-DEP ACK retry count. According to NFC Forum Digital Specification 2.0 16.2.6. |
|
NFC-A Type 4 Tag ISO-DEP S(WTX) retry count. According to NFC Forum Digital Specification 2.0 16.2.7. |
|
NFC-A Type 4 Tag ISO-DEP NAK retry count. According to NFC Forum Digital Specification 2.0 16.2.6. |
|
NFC-A Type 4 Tag RATS retry count. According to NFC Forum Digital Specification 2.0 14.7.1.1. |
|
NFC-A Type 4 Tag ISO-DEP S(WTX) retry count. According to NFC Forum Digital Specification 2.0 16.2.6.5. |
|
Enable NFC Type 4 Tag NDEF File generator library. |
|
Enable NFC TNEP Connection Handover service |
|
The maximum expected local NDEF Record count in the nested Connection Handover Message. |
|
The maximum NDEF Message size for the Connection Handover Service. The NFC Tag Device can limit the maximum NDEF message size for each of its offered Services. The maximum NDEF message size is equal to or smaller than the maximum NDEF message size that fits in the data area announced during the NDEF Detection Procedure. |
|
The maximum expected NDEF Records count in received main NDEF Message. |
|
The maximum number of requested waiting time extensions. The TNEP Tag Device can request more time for NDEF data processing when Tag Device is not responding with the NDEF Message. |
|
The minimum waiting time measured. The minimum waiting time is the time measured between the end of the last write command of an NDEF Write Procedure and the start of the first command of the first NDEF Read. |
|
Size of the Connection Handover parser buffer. |
|
Size of the Poller receive buffer. |
|
Enable Tag NDEF Exchange Protocol for Poller side |
|
Set the maximum count of NDEF Records in the received NDEF Message |
|
Set the maximum count of NDEF Records in the received NDEF Message |
|
Set the maximum size of received NDEF Record |
|
Enable TAG NDEF Exchange Protocol |
|
Enables support for updating the application on the nRF53 Network core. |
|
Enable nRF9160 GPS driver. |
|
External antenna |
|
Onboard antenna |
|
COEX0 string |
|
nRF9160 GPS device name |
|
Interval in seconds to check for GPS fix |
|
Disabling this will cause the GPS driver to do no modem configuration. This is useful if you need to remove the dependency on the at_cmd_host library from the GPS driver, but it will require that some other part of the application send the AT commands to configure the GPS properly. |
|
Initialization priority |
|
MAGPIO string |
|
Enable GGA strings |
|
Enable GLL strings |
|
Enable GSA strings |
|
Enable GSV strings |
|
Enable RMC strings |
|
This configuration sets the amount of time the GPS must be blocked by LTE before requesting GPS priority. For GPS priority to be requested after this timeout, the GPS must also be configured with the priority flag enabled when starting it. When GPS priority is enabled, the modem grants the GPS prioritized access to the radio at the cost of LTE activity. If the value of this option is kept low, GPS priority is requested at an earlier point of time after the GPS is actively blocked by LTE activity. This means that data traffic scheduled during a GPS search is more likely to be blocked by the GPS. Increasing the value of this option will favor data traffic since the GPS will be blocked for a longer duration before GPS priority is requested. Note that GPS priority might not be granted by the modem, even though it is requested by the driver. |
|
Let the driver set COEX0 configuration |
|
Let the driver set MAGPIO configuration |
|
Thread (preemtible) priority |
|
Thread stack size |
|
Blocks larger than this value will be split into two or more send() or sendto() calls. This may not work for certain kinds of sockets or certain flag parameter values. |
|
Workaround a limitation in the Modem library regarding the return value for send() or sendto() calls larger than the module can handle. It should send the data up to the maximum, and return that as the return value. Instead, it returns error 22. |
|
Redefinition for the benefit of qemu_x86 |
|
Redefinition for the benefit of qemu_x86 |
|
nRF Cloud library |
|
Enable nRF Cloud A-GPS |
|
Automatically request A-GPS on bootup |
|
nRF Cloud certificates |
|
The nrf- prefix is reserved on nRF Connect for Cloud for official Nordic devices (e.g. the nRF9160 DK or the Thingy:91). In case you wish to use nrf_cloud with your own devices you need to modify the prefix used to generate the MQTT client ID from the IMEI. |
|
Poll cloud connection in a separate thread |
|
Enable FOTA through nRF Cloud |
|
Enable API for FOTA of BLE devices |
|
Fragment size for FOTA downloads. |
|
Debug |
|
Error |
|
Info |
|
None |
|
Warning |
|
0 disables progress report. |
|
nRF Cloud server hostname |
|
Configure nRF Cloud library to use IPv6 addressing. Otherwise IPv4 is used. |
|
Specifies maximum message size can be transmitted/received through MQTT (exluding MQTT PUBLISH payload). |
|
Size of the buffer for MQTT PUBLISH payload. |
|
nRF Cloud server port |
|
Enable run-time provisioning of certificates from the certificates header file selected by using NRF_CLOUD_CERTIFICATES_FILE |
|
Security tag to use for nRF Cloud connection |
|
Send data using a blocking socket. Selecting this option will make call to send data block until the data is processed by the network stack. |
|
When using a blocking socket, the application can in certain situations fail and hang indefinitely if a watchdog timer is not used. Using a non-blocking socket for data transfers can help avoid getting into such a situation, at the cost of failing in situations where a short period of blocking would have sent the data. |
|
Configures a timeout on the nRF Cloud socket to ensure that a call to te send function will not block indefinitely. To configure the length of the timeout, use NRF_CLOUD_SEND_TIMEOUT_SEC. |
|
Timeout in seconds to use when the nRF Cloud socket is configured to send with a timeout by enabling NRF_CLOUD_SEND_TIMEOUT. |
|
Enable use of static IPv4 |
|
Static IPv4 address |
|
Use Nordic Modem library. |
|
Print allocations on the library heap |
|
Print allocations on the TX region |
|
Periodically dump library heap contents |
|
Period (millisec) |
|
Size of the heap buffer used by the library. This heap is allocated in the application’s RAM. |
|
Size of an intermediate buffer used by sendmsg to repack data and therefore limit the number of sendto calls. The buffer is created in a static memory, so it does not impact stack/heap usage. In case the repacked message would not fit into the buffer, sendmsg sends each message part separately. |
|
Size of the shared memory area used for control structures. This is a constant for a given library build, and is exported by the library via NRF_MODEM_SHMEM_CTRL_SIZE. |
|
Size of the shared memory area owned by the modem. This area holds all incoming data from the modem, plus the modem’s own control structures. The minimum memory requirements stem from the size of the RPC lists (264 bytes = 8 + (32 * 8)), plus the RPC messages and data buffers (1280 bytes = 256 + 1024). |
|
Size of the shared memory area used to receive modem traces. |
|
Period (millisec) |
|
Size of the shared memory area owned by the application. This area holds all outgoing data from the application, e.g. buffers passed to send(). The size of this buffer affects directly the largest payload that can sent be on AT sockets. |
|
Periodically dump the TX memory region contents |
|
Initialize the Modem library automatically during the SYS_INIT sequence. Please note that initialization is synchronous and can take up to one minute in case the modem firmware is updated. |
|
Enable proprietary traces over UART |
|
Redefinition for the benefit of qemu_x86 |
|
Thread priority of each thread in local thread pool. |
|
Stack size for each thread in local thread pool. |
|
Priority of the thread that is responsible for receiving incoming messages from rpmsg. |
|
Stack size for the thread that is responsible for receiving incoming messages from rpmsg. |
|
Redefinition for the benefit of qemu_x86 |
|
Low power UART implements UART API and extends standard UART communication with 2 pins protocol for receiver wake up and flow control. |
|
Timeout is used in uart_poll_out and uart_fifo_fill (if interrupt driven API is enabled). |
|
According to the UART specification high frequency RC oscillator is not accurate enough. However, in normal conditions and accurate clock on the transmitter side it may be accepted to disable it. Turning on HFXO prolongs receiver activation for up to 3 milliseconds. |
|
If enabled, then asynchronous API cannot be used |
|
Internal buffer of that size is created and used by uart_fifo_fill. For optimal performance it should be able to fit the longest possible packet. |
|
If interrupt driven API is enabled then internal RX buffer of that size is created. |
|
NULL Termination |
|
This option allows to specify one or more mbedtls library files to be linked with OpenThread. Separate multiple values with space ” “. |
|
Enables nrf_security module for use by OpenThread. This allows OpenThread to make use of hardware accelerated cryptography functions if available as well as fast oberon backend for software encryption. |
|
OpenThread radio transmit workqueue stack size |
|
Option which can be checked to see whether or not the partition manager is enabled in the current build. Note that this should ideally be a hidden option, but it can’t due to limitations in how parent images impose options on child images. Don’t change the value of this option. |
|
Enable PAW3212 mouse optical sensor. |
|
PAW3212 12-bit motion data length |
|
PAW3212 8-bit motion data length |
|
PAW3212 not rotated |
|
PAW3212 rotated 180 deg clockwise |
|
PAW3212 rotated 270 deg clockwise |
|
PAW3212 rotated 90 deg clockwise |
|
Peripheral CPU DFU Support |
|
Must be <= the page size of the flash device. |
|
PDN Management for nRF9160 |
|
Enable PMW3360 mouse optical sensor. |
|
Default CPI value. |
|
PMW3360 not rotated |
|
PMW3360 rotated 180 deg clockwise |
|
PMW3360 rotated 270 deg clockwise |
|
PMW3360 rotated 90 deg clockwise |
|
Default REST1 mode downshift down time in milliseconds. Time after which sensor goes from REST1 to REST2 mode. |
|
Default REST2 mode downshift down time in milliseconds. Time after which sensor goes from REST2 to REST3 mode. |
|
Default RUN mode downshift down time in milliseconds. Time after which sensor goes from RUN to REST1 mode. |
|
Support external flash in Partition Manager |
|
External flash base address |
|
Must match the ‘drv_name’ argument used when initializing the driver for the external flash through the ‘DEVICE…INIT’ function call. The value is used when calling ‘device_get_binding’. |
|
External flash size (in bytes) |
|
Promptless helper config used to indicate that one or more image is not built from source. |
|
Flash space set aside for the B0_IMAGE partition. |
|
Memory set aside for the $(partition) partition. |
|
Memory set aside for the $(partition) partition. |
|
Memory set aside for the $(partition) partition. |
|
Flash space set aside for the PROVISION partition. |
|
Memory set aside for the $(partition) partition. |
|
Flash space set aside for the SPM. Note, the name of this configuration needs to match the requirements set by the script ‘partition_manager.py’. See pm.yml. |
|
RAM area set aside for the SPM. On the nRF9160 the Modem library needs to be included in the build. There are scrict requirements to the RAM area reserved for Modem library. Specifically it must be 64kB from RAM offset 0x10000. By setting the SPM RAM to 0x10000 we ensure that Modem library RAM ends up in the right place. |
|
Memory set aside for the $(partition) partition. |
|
Memory set aside for the $(partition) partition. |
|
Memory set aside for the TFM_SRAM partition. |
|
Memory set aside for the $(partition) partition. |
|
Memory set aside for the $(partition) partition. |
|
Use the Partition Manager feature to partition the device even if only a single image is included in the build. This is typically set when a subsystem that defines its own Partition Manager configuration is included in the build. |
|
Enable PPI trace module which enables forwarding hardware events to GPIOs. |
|
This option sets the privileged stack region size that will be used in addition to the user mode thread stack. During normal execution, this region will be inaccessible from user mode. During system calls, this region will be utilized by the system call. This value must be a multiple of the minimum stack alignment. |
|
System profiler |
|
Length of data buffer for custom event data (in bytes) |
|
Nordic profiler |
|
Command buffer size |
|
Data buffer size |
|
Info buffer size |
|
Command down channel index |
|
Data up channel index |
|
Info up channel index |
|
Stack size for thread handling host input |
|
Start logging on system start |
|
Priority of thread handling host input |
|
SysView profiler |
|
This allows application to call API for disabling unused RAM segments in the System ON mode. Effectively the application looses possibility to use disabled portion of RAM. This is usually not needed, but can improve battery lifetime for applications that spend most of the time in the sleep mode with most peripherals disabled. |
|
Enable using the fatal error handler defined for Nordic DKs. When it is used, the system restarts after a fatal error. |
|
Selects RPMsg role as “Master”. The other side must be configured as “Remote”. |
|
Selects RPMsg role as “Remote”. The other side must be configured as “Master”. |
|
Which image should be linked against S1. |
|
Enable block protect in debug |
|
Hardware implementation of ECDSA with NIST curve secp256r1. |
|
Hardware implementation of SHA256. |
|
Using EXT_APIs from fw_info. |
|
Using EXT_APIs from fw_info. |
|
Disable secp256r1 support |
|
Disable SHA256 support |
|
Software implementation of ECDSA with NIST curve secp256r1. |
|
Software implementation of SHA256. |
|
Place the public key used for signing last in the list instead of first. This is meant to be used for testing looping through the public keys. |
|
The counter stores the current firmware version in a way that ensures that the value can only increase. This is used to prevent malicious rollback of the firmware. An array of slots is used for one counter. One slot is used per counter update, and each new slot must have a larger value than the previous. Application versions are checked against the current largest counter before being booted. |
|
The number of monotonic counter slots available for the counter, i.e., the number of times the counter can be updated. The slots are 16 bits each. The number of slots is rounded up to the nearest even number to ensure that the total size of header and slots is aligned on a 32-bit word. Rationale for the default number (240): Assume one update a month for 10 years, then double that value just in case. This default fits comfortably within the “OTP” region of UICR. Regarding ranges: The actual maximum depends on the number of provisioned public keys, since they share the space. The same is true if other data is stored in the “OTP” region (on for example nRF91 and nRF53). This configuration should not be used in code. Instead, the header before the slots should be read at run-time. |
|
Hidden config specifying whether the build system has access to the private key used for signing, and will use it to perform signing and create the public key to be provisioned. |
|
Comma-separated list of absolute paths to public key pem files. The provision hex file will contain a list of hashes of public keys. The first public key hash is the one corresponding to the private signing key used to sign the image. See SB_SIGNING_KEY_FILE. The hashes of the public keys specified in this configuration will be placed after the aforementioned public key hash, in the order they appear in this config. The order is significant since if an image is successfully validated against a public key in the list, all public keys before it in the list will be invalidated. Example value: ~/keys/pk1.pem,~/keys/pk2.pem,~/keys/pk3.pem If config is an empty string, 2 generated debug files will be used. |
|
The length to which public key hashes in the list of Root of Trust Public Keys are truncated. |
|
This command will be called to produce a signature of the firmware. It will be called as “${CONFIG_SB_SIGNING_COMMAND} <file>” The command must take calculate the signature over the the contents of the <file> and write the signature to stdout. The signature must be on DER format. |
|
Sign with custom command. |
|
Absolute path to the private key PEM file. Specifies the private key used for signing the firmware image. The hash of the corresponding public key is stored as the first entry in the list of public key hashes in the provision hex file. This value can also be set by exporting an environment variable named ‘SB_SIGNING_KEY_FILE’ or passing ‘-DSB_SIGNING_KEY_FILE=/path/to/my/pem’ when running cmake. See also SB_PUBLIC_KEY_FILES. |
|
Sign with openssl command line tool. |
|
Path to a PEM file. When using a custom signing command, specify the corresponding public key here. This public key is checked during building, and added as the first entry in the provisioned data. See SB_PUBLIC_KEY_FILES. |
|
Sign with Python ecdsa library. |
|
Hash validation (not secure). Only meant for nRF5340 network core since the app core will do the signature validation. |
|
Signature validation. |
|
The algorithm used for signing the firmware (8 bits). Used to ensure compatibility. For more info, see FW_INFO_MAGIC_COMMON. |
|
Magic word value specific to validation info structs (after firmware). For more info, see FW_INFO_MAGIC_COMMON. |
|
Used to ensure binary compatibility. For more info, see FW_INFO_MAGIC_COMMON. |
|
Must be either 0 or larger than the size of the application. If 0, the metadata is appended directly after the application image, aligned to the closest word. |
|
Magic word value specific to validation info pointer structs. For more info, see FW_INFO_MAGIC_COMMON. |
|
The time set aside for connections on every connection interval in microseconds. The event length and the connection interval are the primary parameters for setting the throughput of a connection. |
|
Size of the receiving thread stack, used to retrieve HCI events and data from the controller. |
|
Number of concurrent slave roles defines how many simultaneous connections can be created with the device working as a slave. NOTE: the number of master roles is defined as BT_MAX_CONN - SDC_SLAVE_COUNT |
|
Set this option to enable the first stage bootloader which verifies the signature of the app. |
|
Secure Boot Crypto |
|
Printing |
|
Print to RTT |
|
Print to UART. |
|
Functions for accessing the bootloader storage. |
|
Enable Secure Boot validation code |
|
Include sensor drivers in config |
|
Enable sensor simulator. |
|
Sine wave |
|
Toggle on fetch between statically defined values |
|
Sensor reports base humidity value with a simulated noise. |
|
Sensor reports base pressure value with a simulated noise. |
|
Sensor reports base temperature value with a simulated noise. |
|
Device name for sensor simulator. |
|
Priority of thread used by the driver to handle interrupts. |
|
Stack size of thread used by the driver to handle interrupts. |
|
Enable trigger mode. |
|
The time interval between each ‘data ready’ trigger event. |
|
Use button 1 to trigger ‘data ready’ event. |
|
Trigger ‘data ready’ event periodically. |
|
Enable shell BT NUS transport. |
|
Debug |
|
System limit (LOG_MAX_LEVEL) |
|
Error |
|
Info |
|
None |
|
Warning |
|
RX ring buffer size impacts accepted latency of handling incoming bytes by shell. If shell input is coming from the keyboard then it is usually enough if ring buffer is few bytes (more than one due to escape sequences). However, if bulk data is transferred it may be required to increase it. |
|
Should be increased if long MTU is used since it allows to transfer data in bigger chunks (up to size of the ring buffer). |
|
Sign images for MCUBoot as integrated part of the build stages using the private key. |
|
A library for managing SMS subscriptions. |
|
Maximum number of subscribers |
|
Enables SoftDevice Controller flash driver. |
|
Enable synchronization between flash memory driver and MPSL. |
|
Use Secure Partition Manager |
|
This will block the application running in Non-Secure from being able to issue a system reset of the chip without going through a secure service. If not enabled, a debugger will not be able to issue a system reset while the core is executing Non-Secure code. |
|
Boot silently |
|
Build from source |
|
Skip building SPM |
|
Use hex file instead of building SPM |
|
SPM hex file |
|
Clock control is Non-Secure |
|
COMP is Non-Secure |
|
CTRLAP is Non-Secure |
|
DCNF is Non-Secure |
|
DPPIC is Non-Secure |
|
The input mask is a mirror of the permission bits set in register SPU.DPPI.PERM[] to allow non-secure application to control DPPIC per the given input mask. The default value is to allow all DPPI channels to non-secure region. |
|
EGU1 is Non-Secure |
|
EGU2 is Non-Secure |
|
FPU is Non-Secure |
|
GPIOTE1 IRQ available in Non-Secure domain |
|
I2S0 is Non-Secure |
|
IPC is Non-Secure |
|
LPCOMP is Non-Secure |
|
Mutex is Non-Secure |
|
NFCT is Non-Secure |
|
NVMC is Non-Secure |
|
Oscillators is Non-Secure |
|
GPIO is Non-Secure |
|
P1 is Non-Secure |
|
PDM0 is Non-Secure |
|
PWM0 is Non-Secure |
|
PWM1 is Non-Secure |
|
PWM2 is Non-Secure |
|
PWM3 is Non-Secure |
|
QDEC0 is Non-Secure |
|
QUDEC1 is Non-Secure |
|
QSPI is Non-Secure |
|
Regulators is Non-Secure |
|
Reset is Non-Secure |
|
RTC0 is Non-Secure |
|
RTC1 is Non-Secure |
|
SAADC is Non-Secure |
|
SPIM3 is Non-Secure |
|
SPIM4 is Non-Secure |
|
TIMER0 is Non-Secure |
|
TIMER1 is Non-Secure |
|
TIMER2 is Non-Secure |
|
TWIM2 is Non-Secure |
|
UARTE1 is Non-Secure |
|
UARTE2 is Non-Secure |
|
USBD is Non-Secure |
|
USB Regulator is Non-Secure |
|
VMC is Non-Secure |
|
WDT0 is Non-Secure |
|
WDT1 is Non-Secure |
|
WDT is Non-Secure |
|
Secure services can be invoked from the Non-Secure Firmware via secure entry functions. Note: Please set this and SPM_SERVICE_* configs from the app, instead of the SPM. This ensures that the values are in sync between the two images. |
|
Busy wait in secure mode. Will keep the CPU in secure mode for the duration specified. Use to write tests that require secure mode. |
|
The Non-Secure Firmware is not allowed to read the memory marked as secure. This service allows it to request firmware info about image stored at a given address. |
|
The B0 bootloader allows calls into it for prevalidating upgrades of the stage it verifies. The B0 bootloader is in secure memory, so this secure service is needed for the app to access the prevalidation function. |
|
The Non-Secure Firmware is not allowed to read the memory marked as secure. This service allows it to request random read operations within the ranges configured in secure_services.c. |
|
If Non-Secure Firmware is blocked from issuing system reset, this service will allow it to issue a request to do a system reset through a secure service. |
|
The Non-Secure Firmware is not allowed to use the crypto hardware. This service allows it to request random numbers from the SPM. |
|
Enable secure service to check if S0 is active B1 slot |
|
The SRAM base address. The default value comes from from /chosen/zephyr,sram in devicetree. The user should generally avoid changing it via menuconfig or in configuration files. |
|
The SRAM size in kB. The default value comes from /chosen/zephyr,sram in devicetree. The user should generally avoid changing it via menuconfig or in configuration files. |
|
Enable the NFC ST25R3911B library. In order to enable this library, the devicetree must have a node with compatible “st,st25r3911b” enabled. This provides devicetree data which is used to configure board-specific code. |
|
A library for accessing AGPS data using the SUPL protocol |
|
System workqueue stack size |
|
Enable MPSL driver for nRF5 temperature sensor. |
|
Redefintition of TFM_BOARD to use out-of-tree boards. These depend on ${TFM_BOARD_BASE_DIR} being set to the TFM board dir inside sdk-nrf. |
|
Use profile_small when the modem is enabled to get the RAM usage below 64 kB, so the Modem’s IPC RAM area can fit at 0x10000. This overrides the default TFM_PROFILE. |
|
Use Unity test framework |
|
Update job document buffer size |
|
Set default ZBOSS thread prority |
|
Stack size of ZBOSS Zephyr task. This is the task zboss_main_loop_iteration is called from. |
|
Log ZBOSS errors. |
|
Debug |
|
Error |
|
Info |
|
Off |
|
Warning |
|
Selectively enable Zigbee binary trace logs. The mask value should be a bitwise OR of values assigned to selected modules. Available modules are:
For example, in order to enable traces related to OTA DFU, one should set this option to 0x4100. Note: For general debugging purposes, please use 0x0C48. |
|
Dumps all packets destined to the node over ZBOSS binary trace protocol |
|
Enable Zigbee stack |
|
This queue is used to pass application callbacks and alarms from other threads/ISR to the ZBOSS main loop context. Elements from this queue are flushed right after ZBOSS context awakes, before the actual callback execution. |
|
This allows Zigbee applications to call API:
|
|
802.15.4 channel used by Zigbee. Defaults to 16. |
|
Bitwise “OR” mask of channels used by Zigbee. The default setting enables all channels.
|
|
“Zigbee uses a group of channels specified by bitwise mask” |
|
“Zigbee uses exactly one channel specified by its number” |
|
Include functions to suspend/resume zboss thread. It may be helpful when debugging but using this functions can cause instability of the device. |
|
Include functions for mapping ZBOSS errors to string. |
|
Enable Zigbee FOTA |
|
Firmware comment to be used in Zigbee OTA header. |
|
Maximum data size of Query Block Image |
|
Zigbee OTA endpoint |
|
Zigbee hardware version |
|
0x0000 - 0xFFBF Manufacturer Specific 0xFFC0 - Client Security credentials 0xFFC1 - Client Configuration 0xFFC2 - Server Log 0xFFC3 - Picture 0xFFFF - Wild card value has a ‘match all’ effect. |
|
This is the ZigBee assigned identifier for each member company. 0x127F - Nordic Semiconductor 0xFFFF - wild card value has a ‘match all’ effect. |
|
Zigbee OTA maximum hw version |
|
Zigbee OTA minimum hw version |
|
Emit progress event upon receiving a download fragment |
|
UART serial abstract for ZBOSS OSIF |
|
Enable Zigbee endpoint handler for logging incoming ZCL frames |
|
Coordinator role |
|
End Device role |
|
Router role |
|
Enable Zigbee Shell |
|
Number of entries in context manager of Zigbee Shell. Entries are shared by ZDO commands, ZCL commands and PING commands. |
|
This option enables:
Note: These commands may be useful when debugging but can cause instability of the device. |
|
Number of endpoint to be used by the Zigbee Shell instance |
|
Zigbee UART device name |
|
Timeout value between the last received byte and the RX event if only a part of RX buffer was received, in milliseconds |
|
Timeout value between the last transmitted byte and the TX ready event if only a part of TX buffer was transmitted, in milliseconds |
|
Size of the asynchronous receive buffer |
|
Timeout value for starting asynchronous reception, in milliseconds |
|
Size of the synchronous transmit buffer |
|
Timeout value for starting asynchronous transmission, in milliseconds |
|
Buttons abstract for ZBOSS OSIF |
|
Dimmable LED (PWM) abstract for ZBOSS OSIF |
|
LEDs abstract for ZBOSS OSIF |
|
Use software based AES |
|
Test function thread stack size |
|
Self-Registration Daemon |
|
Background thread Stack size |
|
Background thread priority level |