boot/zephyr: Kconfig for hooks enabling

Added global property which allows to enable hooks
implementations.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
This commit is contained in:
Andrzej Puzdrowski 2021-07-09 19:20:46 +02:00 committed by David Brown
parent a41a850dd5
commit 914204db41
3 changed files with 46 additions and 0 deletions

View File

@ -302,3 +302,27 @@ zephyr_library_sources(
${BOOT_DIR}/zephyr/arm_cleanup.c
)
endif()
if(CONFIG_BOOT_IMAGE_ACCESS_HOOKS)
if(IS_ABSOLUTE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
if(EXISTS ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
set(HOOKS_FILE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
endif()
elseif((DEFINED CONF_DIR) AND
(EXISTS ${CONF_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}))
set(HOOKS_FILE ${CONF_DIR}/${CONFIG_BOOT_SIGNATURE_KEY_FILE})
else(EXISTS ${BOOT_DIR}/zephyr/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
set(HOOKS_FILE ${BOOT_DIR}/zephyr/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
endif()
if(DEFINED HOOKS_FILE)
zephyr_library_sources(
${HOOKS_FILE}
)
else()
message(WARNING "Can't access hooks implementation file.")
endif()
endif()

View File

@ -642,6 +642,24 @@ config BOOT_WATCHDOG_FEED
Enables implementation of MCUBOOT_WATCHDOG_FEED() macro which is
used to feed watchdog while doing time consuming operations.
config BOOT_IMAGE_ACCESS_HOOKS
bool "Enable hooks for overriding MCUboot's native routines"
help
Allow to provide procedures for override or extend native
MCUboot's routines required for access the image data and the image
update.
config BOOT_IMAGE_ACCESS_HOOKS_FILE
string "Hooks implementation file path"
depends on BOOT_IMAGE_ACCESS_HOOKS
help
Path to the file which implements hooks.
You can use either absolute or relative path.
In case relative path is used, the build system assumes that it starts
from the directory where the MCUBoot KConfig configuration file is
located. If the key file is not there, the build system uses relative
path that starts from the zephyr port cmake directory (boot/zephyr/).
endmenu
config MCUBOOT_DEVICE_SETTINGS

View File

@ -163,6 +163,10 @@
#define MCUBOOT_MGMT_CUSTOM_IMG_LIST
#endif
#ifdef CONFIG_BOOT_IMAGE_ACCESS_HOOKS
#define MCUBOOT_IMAGE_ACCESS_HOOKS
#endif
/*
* The configuration option enables direct image upload with the
* serial recovery.