/
pm.yml
87 lines (71 loc) · 2.57 KB
/
pm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <autoconf.h>
mcuboot:
size: CONFIG_PM_PARTITION_SIZE_MCUBOOT
placement:
before: [mcuboot_primary]
mcuboot_primary_app:
# All images to be placed in MCUboot's slot 0 should be placed in this
# partition
span: [app]
mcuboot_primary:
span: [mcuboot_pad, mcuboot_primary_app]
# Partition for secondary slot is not created if building in single application
# slot configuration.
#if !defined(CONFIG_SINGLE_APPLICATION_SLOT) && !defined(CONFIG_BOOT_DIRECT_XIP)
mcuboot_secondary:
share_size: [mcuboot_primary]
#if defined(CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY)
region: external_flash
placement:
align: {start: 4}
#else
placement:
align: {start: CONFIG_FPROTECT_BLOCK_SIZE}
align_next: CONFIG_FPROTECT_BLOCK_SIZE # Ensure that the next partition does not interfere with this image
after: mcuboot_primary
#endif /* CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY */
#endif /* !defined(CONFIG_SINGLE_APPLICATION_SLOT) && !defined(CONFIG_BOOT_DIRECT_XIP) */
#if CONFIG_BOOT_DIRECT_XIP
# Direct XIP is enabled, reserve area for metadata (padding) and name the
# partition so that its clear that it is not the secondary slot, but the direct
# XIP alternative.
mcuboot_secondary_pad:
share_size: mcuboot_pad
placement:
after: mcuboot_primary
align: {start: CONFIG_FPROTECT_BLOCK_SIZE}
mcuboot_secondary_app:
share_size: mcuboot_primary_app
placement:
after: mcuboot_secondary_pad
mcuboot_secondary:
span: [mcuboot_secondary_pad, mcuboot_secondary_app]
#endif /* CONFIG_BOOT_DIRECT_XIP */
#if CONFIG_BOOT_SWAP_USING_SCRATCH
mcuboot_scratch:
size: CONFIG_PM_PARTITION_SIZE_MCUBOOT_SCRATCH
placement:
after: app
align: {start: CONFIG_FPROTECT_BLOCK_SIZE}
#endif /* CONFIG_BOOT_SWAP_USING_SCRATCH */
# Padding placed before image to boot. This reserves space for the MCUboot image header
# and it ensures that the boot image gets linked with the correct address offset in flash.
mcuboot_pad:
# MCUboot pad must be placed before the primary application partition.
# The primary application partition includes the secure firmware if present.
size: CONFIG_PM_PARTITION_SIZE_MCUBOOT_PAD
placement:
before: [mcuboot_primary_app]
#ifdef CONFIG_FPROTECT
align: {start: CONFIG_FPROTECT_BLOCK_SIZE}
#endif
#if (CONFIG_NRF53_MCUBOOT_PRIMARY_1_RAM_FLASH)
mcuboot_primary_1:
region: ram_flash
size: CONFIG_NRF53_RAM_FLASH_SIZE
#endif /* CONFIG_NRF53_MULTI_IMAGE_UPDATE */
#if (CONFIG_NRF53_MULTI_IMAGE_UPDATE)
mcuboot_secondary_1:
region: external_flash
size: CONFIG_NRF53_RAM_FLASH_SIZE
#endif /* CONFIG_NRF53_MULTI_IMAGE_UPDATE */