Macros | |
#define | NRF_DFU_APP_ACCEPT_SAME_VERSION |
Whether to accept application upgrades with the same version as the current application. More... | |
#define | NRF_DFU_APP_DOWNGRADE_PREVENTION |
Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. More... | |
#define | NRF_DFU_EXTERNAL_APP_VERSIONING |
Require versioning for external applications. More... | |
#define | NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES |
Accept only dual-bank application updates. More... | |
#define | NRF_DFU_HW_VERSION |
Device hardware version. More... | |
#define | NRF_DFU_REQUIRE_SIGNED_APP_UPDATE |
Require a valid signature to update the application or SoftDevice. More... | |
#define | NRF_DFU_SINGLE_BANK_APP_UPDATES |
Place the application and the SoftDevice directly where they are supposed to be. More... | |
#define NRF_DFU_APP_ACCEPT_SAME_VERSION |
Whether to accept application upgrades with the same version as the current application.
This applies to application updates, and possibly to SoftDevice updates. Bootloader upgrades always require higher versions. SoftDevice upgrades look at the sd_req field independently of this config. Disabling this protects against replay attacks wearing out the flash of the device. This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled.
Set to 1 to activate.
#define NRF_DFU_APP_DOWNGRADE_PREVENTION |
Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates.
Whether to check the incoming version against the version of the existing app and/or the incoming SoftDevice requirements against the existing SoftDevice. This applies to application updates, and possibly to SoftDevice updates. Disabling this causes the checks to always ignore the incoming firmware version and to ignore the SoftDevice requirements if the first requirement is 0. This does not apply the bootloader updates. If the bootloader depends on the SoftDevice e.g. for BLE transport, this does not apply to SoftDevice updates. See Validation for more information. When signed updates are required, version checking should always be enabled.
Set to 1 to activate.
#define NRF_DFU_EXTERNAL_APP_VERSIONING |
Require versioning for external applications.
This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. Setting this will require that any FW images using the FW upgrade type DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme where the FW version of an upgrade must always be larger than the previously stored FW version.
Set to 1 to activate.
#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES |
Accept only dual-bank application updates.
If not enabled then if there is not enough space to perform dual-bank update application is deleted and single-bank update is performed. In case it is considered security concern user can prefer to discard update request rather than overwrite current application.
Set to 1 to activate.
#define NRF_DFU_HW_VERSION |
Device hardware version.
This is used to determine if given update is targeting the device. It is checked against the hw_version value in the init packet
#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE |
Require a valid signature to update the application or SoftDevice.
Set to 1 to activate.
#define NRF_DFU_SINGLE_BANK_APP_UPDATES |
Place the application and the SoftDevice directly where they are supposed to be.
Note that this creates security concerns when signing and version checks are enabled. An attacker will be able to delete (but not replace) the current app or SoftDevice without knowing the signature key.
Set to 1 to activate.