Some parts of subsys/dfu/boot code are re-implementations of what is implemented in the MCUBoot repository. Mcuboot's repository already provide implementation of function required for application for interact with the MCUboot. This patch introduces new MCUBOOT_BOOTUTIL module which covers common code which is used in the bootloader and the chainnloaded application. dfu/boot: use MCUBoot's source code Module was reworked so it start using MCUBoot's bootutil_public API instead of copied code. Reworked boot_is_img_confirmed() used MCUBoot's API for determine image_ok flag. mcuboot_shell switchd to use MCUboot's boot_read_swap_state_by_id() This is MCUBoot function, use it for avoid linking conflict. test/subsys/mcuboot: fix `test_write_confirm` dfu/boot library was reworked so it uses MCUboot's bootutil_public library whenever it can. The library required that image was marked as copy-done before it can be pending. This patch adds such mark which fixes the test. Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
# DFU support configuration options
|
|
|
|
# Copyright (c) 2017 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
#
|
|
# DFU
|
|
#
|
|
|
|
menuconfig IMG_MANAGER
|
|
bool "DFU image manager"
|
|
select STREAM_FLASH
|
|
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
|
|
select MCUBOOT_BOOTUTIL_LIB
|
|
help
|
|
Enable support for managing DFU image downloaded using mcuboot.
|
|
|
|
endchoice
|
|
|
|
config MCUBOOT_SHELL
|
|
bool "MCUboot shell"
|
|
default y
|
|
depends on MCUBOOT_IMG_MANAGER
|
|
depends on SHELL
|
|
help
|
|
Enable shell module, which provides information about image slots and
|
|
allows to perform such operations as: confirm, erase and request
|
|
upgrade.
|
|
|
|
config MCUBOOT_TRAILER_SWAP_TYPE
|
|
bool "use trailer's swap_type field"
|
|
default y
|
|
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 STREAM_FLASH_ERASE
|
|
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.
|
|
|
|
config IMG_ENABLE_IMAGE_CHECK
|
|
bool "Enable image check functions"
|
|
depends on MCUBOOT_IMG_MANAGER
|
|
select FLASH_AREA_CHECK_INTEGRITY
|
|
help
|
|
If enabled, there will be available the function to check flash
|
|
integrity. It can be used to verify flash integrity after received
|
|
a new firmware. This is useful to avoid firmware reboot and test.
|
|
Another use is to ensure that firmware upgrade routines from internet
|
|
server to flash slot are performing properly.
|
|
|
|
module = IMG_MANAGER
|
|
module-str = image manager
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # IMG_MANAGER
|