diff --git a/subsys/dfu/img_util/flash_img.c b/subsys/dfu/img_util/flash_img.c index 8f287404da3..322174c0c8f 100644 --- a/subsys/dfu/img_util/flash_img.c +++ b/subsys/dfu/img_util/flash_img.c @@ -23,14 +23,18 @@ LOG_MODULE_REGISTER(flash_img, CONFIG_IMG_MANAGER_LOG_LEVEL); #include #endif +#define FIXED_PARTITION_IS_RUNNING_APP_PARTITION(label) \ + (FIXED_PARTITION_OFFSET(label) == CONFIG_FLASH_LOAD_OFFSET) + #include #ifdef CONFIG_TRUSTED_EXECUTION_NONSECURE - #define UPLOAD_FLASH_AREA_LABEL slot1_ns_partition +#define UPLOAD_FLASH_AREA_LABEL slot1_ns_partition #else -#if FIXED_PARTITION_EXISTS(slot1_partition) - #define UPLOAD_FLASH_AREA_LABEL slot1_partition +#if FIXED_PARTITION_EXISTS(slot1_partition) && \ + FIXED_PARTITION_IS_RUNNING_APP_PARTITION(slot0_partition) +#define UPLOAD_FLASH_AREA_LABEL slot1_partition #else - #define UPLOAD_FLASH_AREA_LABEL slot0_partition +#define UPLOAD_FLASH_AREA_LABEL slot0_partition #endif #endif