File tree Expand file tree Collapse file tree 3 files changed +22
-9
lines changed
mgmt/mcumgr/grp/img_mgmt/src
tests/subsys/dfu/img_util/src Expand file tree Collapse file tree 3 files changed +22
-9
lines changed Original file line number Diff line number Diff line change @@ -23,8 +23,15 @@ LOG_MODULE_REGISTER(flash_img, CONFIG_IMG_MANAGER_LOG_LEVEL);
23
23
#include <bootutil/bootutil_public.h>
24
24
#endif
25
25
26
- #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
27
- (FIXED_PARTITION_OFFSET(label) == CONFIG_FLASH_LOAD_OFFSET)
26
+ #ifdef CONFIG_USE_DT_CODE_PARTITION
27
+ #define FLASH_LOAD_OFFSET DT_REG_ADDR(DT_CHOSEN(zephyr_code_partition))
28
+ #elif defined(CONFIG_FLASH_LOAD_OFFSET )
29
+ #define FLASH_LOAD_OFFSET CONFIG_FLASH_LOAD_OFFSET
30
+ #endif
31
+
32
+ #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
33
+ (FIXED_PARTITION_OFFSET(label) <= FLASH_LOAD_OFFSET && \
34
+ FIXED_PARTITION_OFFSET(label) + FIXED_PARTITION_SIZE(label) > FLASH_LOAD_OFFSET)
28
35
29
36
#include <zephyr/devicetree.h>
30
37
#if defined(CONFIG_TRUSTED_EXECUTION_NONSECURE ) && (CONFIG_TFM_MCUBOOT_IMAGE_NUMBER == 2 )
Original file line number Diff line number Diff line change 43
43
44
44
#if !defined(CONFIG_MCUBOOT_BOOTLOADER_MODE_RAM_LOAD )
45
45
46
- #ifndef CONFIG_FLASH_LOAD_OFFSET
47
- #error MCUmgr requires application to be built with CONFIG_FLASH_LOAD_OFFSET set \
48
- to be able to figure out application running slot.
46
+ #ifdef CONFIG_USE_DT_CODE_PARTITION
47
+ #define FLASH_LOAD_OFFSET DT_REG_ADDR(DT_CHOSEN(zephyr_code_partition))
48
+ #elif defined(CONFIG_FLASH_LOAD_OFFSET )
49
+ #define FLASH_LOAD_OFFSET CONFIG_FLASH_LOAD_OFFSET
50
+ #else
51
+ #error MCUmgr requires application to be built with CONFIG_FLASH_LOAD_OFFSET or \
52
+ CONFIG_USE_DT_CODE_PARTITION set to be able to figure out application running slot.
49
53
#endif
50
54
51
- #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
52
- (FIXED_PARTITION_OFFSET(label) == CONFIG_FLASH_LOAD_OFFSET)
55
+ #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
56
+ (FIXED_PARTITION_OFFSET(label) <= FLASH_LOAD_OFFSET && \
57
+ FIXED_PARTITION_OFFSET(label) + FIXED_PARTITION_SIZE(label) > FLASH_LOAD_OFFSET)
53
58
54
59
BUILD_ASSERT (sizeof (struct image_header ) == IMAGE_HEADER_SIZE ,
55
60
"struct image_header not required size" );
Original file line number Diff line number Diff line change 12
12
#define SLOT0_PARTITION slot0_partition
13
13
#define SLOT1_PARTITION slot1_partition
14
14
15
- #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
16
- (FIXED_PARTITION_OFFSET(label) == CONFIG_FLASH_LOAD_OFFSET)
15
+ #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
16
+ (FIXED_PARTITION_OFFSET(label) <= CONFIG_FLASH_LOAD_OFFSET && \
17
+ FIXED_PARTITION_OFFSET(label) + FIXED_PARTITION_SIZE(label) > CONFIG_FLASH_LOAD_OFFSET)
17
18
18
19
#if FIXED_PARTITION_IS_RUNNING_APP_PARTITION (slot0_partition )
19
20
#define UPLOAD_PARTITION_ID FIXED_PARTITION_ID(SLOT1_PARTITION)
You can’t perform that action at this time.
0 commit comments