zephyr/subsys/dfu/Kconfig

66 lines
1.7 KiB
Plaintext
Raw Normal View History

# DFU support configuration options
# Copyright (c) 2017 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
#
# DFU
#
menuconfig IMG_MANAGER
bool "DFU image manager"
help
Enable support for managing DFU image.
if IMG_MANAGER
choice
prompt "Image manager"
default MCUBOOT_IMG_MANAGER
help
Choice support for managing DFU image.
So far only mcuboot support is available.
config MCUBOOT_IMG_MANAGER
bool "Image manager for mcuboot"
select FLASH_MAP
help
Enable support for managing DFU image downloaded using mcuboot.
endchoice
config MCUBOOT_TRAILER_SWAP_TYPE
bool "use trailer's swap_type field"
default y
kconfig: Replace some single-symbol 'if's with 'depends on' I think people might be reading differences into 'if' and 'depends on' that aren't there, like maybe 'if' being needed to "hide" a symbol, while 'depends on' just adds a dependency. There are no differences between 'if' and 'depends on'. 'if' is just a shorthand for 'depends on'. They work the same when it comes to creating implicit menus too. The way symbols get "hidden" is through their dependencies not being satisfied ('if'/'depends on' get copied up as a dependency on the prompt). Since 'if' and 'depends on' are the same, an 'if' with just a single symbol in it can be replaced with a 'depends on'. IMO, it's best to avoid 'if' there as a style choice too, because it confuses people into thinking there's deep Kconfig magic going on that requires 'if'. Going for 'depends on' can also remove some nested 'if's, which generates nicer symbol information and docs, because nested 'if's really are so simple/dumb that they just add the dependencies from both 'if's to all symbols within. Replace a bunch of single-symbol 'if's with 'depends on' to despam the Kconfig files a bit and make it clearer how things work. Also do some other minor related dependency refactoring. The replacement isn't complete. Will fix up the rest later. Splitting it a bit to make it more manageable. (Everything above is true for choices, menus, and comments as well.) Detected by tweaking the Kconfiglib parsing code. It's impossible to detect after parsing, because 'if' turns into 'depends on'. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 10:45:50 +08:00
depends on MCUBOOT_IMG_MANAGER
help
Enables usage swap type field which is required after
"Fix double swap on interrupted revert" mcuboot patch
(https://github.com/JuulLabs-OSS/mcuboot/pull/485)
Disable this option if need to be compatible with earlier version
of MCUBoot.
config IMG_BLOCK_BUF_SIZE
int "Image writer buffer size"
depends on MCUBOOT_IMG_MANAGER
default 512
help
Size (in Bytes) of buffer for image writer. Must be a multiple of
the access alignment required by used flash driver.
config IMG_ERASE_PROGRESSIVELY
bool "Erase flash progressively when receiving new firmware"
depends on MCUBOOT_IMG_MANAGER
select FLASH_PAGE_LAYOUT
help
If enabled, flash is erased as necessary when receiving new firmware,
instead of erasing the whole image slot at once. This is necessary
on some hardware that has long erase times, to prevent long wait
times at the beginning of the DFU process.
module = IMG_MANAGER
module-str = image manager
source "subsys/logging/Kconfig.template.log_config"
endif # IMG_MANAGER