Skip to content

Commit 6f3650c

Browse files
committed
boards: st: add support for mcuboot test
add boot and slots partitions for flash memory in dedicated mcu boards Signed-off-by: Fabrice DJIATSA <[email protected]>
1 parent 96eee3b commit 6f3650c

File tree

14 files changed

+226
-40
lines changed

14 files changed

+226
-40
lines changed

boards/st/nucleo_c071rb/nucleo_c071rb.dts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
zephyr,shell-uart = &usart2;
2020
zephyr,sram = &sram0;
2121
zephyr,flash = &flash0;
22+
zephyr,code-partition = &slot0_partition;
2223
};
2324

2425
leds: leds {
@@ -178,3 +179,32 @@ zephyr_udc0: &usb {
178179
pinctrl-names = "default";
179180
status = "okay";
180181
};
182+
183+
&flash0 {
184+
partitions {
185+
compatible = "fixed-partitions";
186+
#address-cells = <1>;
187+
#size-cells = <1>;
188+
189+
boot_partition: partition@0 {
190+
label = "mcuboot";
191+
reg = <0x00000000 DT_SIZE_K(64)>;
192+
};
193+
194+
slot0_partition: partition@10000 {
195+
label = "image-0";
196+
reg = <0x00010000 DT_SIZE_K(30)>;
197+
};
198+
199+
slot1_partition: partition@17800 {
200+
label = "image-1";
201+
reg = <0x00017800 DT_SIZE_K(30)>;
202+
};
203+
204+
/* Set 4KB of storage at the end of 128KB flash */
205+
storage_partition: partition@1f000 {
206+
label = "storage";
207+
reg = <0x0001f000 DT_SIZE_K(4)>;
208+
};
209+
};
210+
};

boards/st/nucleo_f091rc/nucleo_f091rc.dts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
zephyr,sram = &sram0;
2222
zephyr,flash = &flash0;
2323
zephyr,canbus = &can1;
24+
zephyr,code-partition = &slot0_partition;
2425
};
2526

2627
leds: leds {
@@ -149,10 +150,25 @@
149150
#address-cells = <1>;
150151
#size-cells = <1>;
151152

152-
/* Set 6Kb of storage at the end of the 256Kb of flash */
153-
storage_partition: partition@3e800 {
153+
boot_partition: partition@0 {
154+
label = "mcuboot";
155+
reg = <0x00000000 DT_SIZE_K(64)>;
156+
};
157+
158+
slot0_partition: partition@10000 {
159+
label = "image-0";
160+
reg = <0x00010000 DT_SIZE_K(94)>;
161+
};
162+
163+
slot1_partition: partition@27800 {
164+
label = "image-1";
165+
reg = <0x00027800 DT_SIZE_K(94)>;
166+
};
167+
168+
/* Set 4Kb of storage at the end of the 256Kb of flash */
169+
storage_partition: partition@3f000 {
154170
label = "storage";
155-
reg = <0x0003e800 DT_SIZE_K(6)>;
171+
reg = <0x0003f000 DT_SIZE_K(4)>;
156172
};
157173
};
158174
};

boards/st/nucleo_f103rb/nucleo_f103rb.dts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
zephyr,shell-uart = &usart2;
2121
zephyr,sram = &sram0;
2222
zephyr,flash = &flash0;
23+
zephyr,code-partition = &slot0_partition;
2324
};
2425

2526
leds: leds {
@@ -167,6 +168,21 @@
167168
#address-cells = <1>;
168169
#size-cells = <1>;
169170

171+
boot_partition: partition@0 {
172+
label = "mcuboot";
173+
reg = <0x00000000 DT_SIZE_K(64)>;
174+
};
175+
176+
slot0_partition: partition@10000 {
177+
label = "image-0";
178+
reg = <0x00010000 DT_SIZE_K(32)>;
179+
};
180+
181+
slot1_partition: partition@18000 {
182+
label = "image-1";
183+
reg = <0x00018000 DT_SIZE_K(30)>;
184+
};
185+
170186
/* Set 2KB of storage at the end of 128KB flash */
171187
storage_partition: partition@1f800 {
172188
label = "storage";

boards/st/nucleo_f207zg/nucleo_f207zg.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
zephyr,shell-uart = &usart3;
2020
zephyr,sram = &sram0;
2121
zephyr,flash = &flash0;
22+
zephyr,code-partition = &slot0_partition;
2223
};
2324

2425
leds: leds {

boards/st/nucleo_f746zg/nucleo_f746zg.dts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
zephyr,flash = &flash0;
2929
zephyr,dtcm = &dtcm;
3030
zephyr,canbus = &can1;
31+
zephyr,code-partition = &slot0_partition;
3132
};
3233

3334
leds: leds {
@@ -235,3 +236,31 @@ zephyr_udc0: &usbotg_fs {
235236
&vbat {
236237
status = "okay";
237238
};
239+
240+
&flash0 {
241+
partitions {
242+
compatible = "fixed-partitions";
243+
#address-cells = <1>;
244+
#size-cells = <1>;
245+
246+
boot_partition: partition@0 {
247+
label = "mcuboot";
248+
reg = <0x00000000 DT_SIZE_K(64)>;
249+
};
250+
251+
storage_partition: partition@10000 {
252+
label = "storage";
253+
reg = <0x00010000 DT_SIZE_K(192)>;
254+
};
255+
256+
slot0_partition: partition@40000 {
257+
label = "image-0";
258+
reg = <0x00040000 DT_SIZE_K(448)>;
259+
};
260+
261+
slot1_partition: partition@b0000 {
262+
label = "image-1";
263+
reg = <0x000b0000 DT_SIZE_K(320)>;
264+
};
265+
};
266+
};

boards/st/nucleo_g071rb/nucleo_g071rb.dts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
zephyr,shell-uart = &usart2;
2222
zephyr,sram = &sram0;
2323
zephyr,flash = &flash0;
24+
zephyr,code-partition = &slot0_partition;
2425
};
2526

2627
leds: leds {
@@ -171,6 +172,21 @@
171172
#address-cells = <1>;
172173
#size-cells = <1>;
173174

175+
boot_partition: partition@0 {
176+
label = "mcuboot";
177+
reg = <0x00000000 DT_SIZE_K(64)>;
178+
};
179+
180+
slot0_partition: partition@10000 {
181+
label = "image-0";
182+
reg = <0x00010000 DT_SIZE_K(30)>;
183+
};
184+
185+
slot1_partition: partition@17800 {
186+
label = "image-1";
187+
reg = <0x00017800 DT_SIZE_K(30)>;
188+
};
189+
174190
/* Set 4KB of storage at the end of 128KB flash */
175191
storage_partition: partition@1f000 {
176192
label = "storage";

boards/st/nucleo_g474re/nucleo_g474re.dts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,17 +177,17 @@ stm32_lp_tick_source: &lptim1 {
177177

178178
boot_partition: partition@0 {
179179
label = "mcuboot";
180-
reg = <0x00000000 DT_SIZE_K(34)>;
180+
reg = <0x00000000 DT_SIZE_K(64)>;
181181
};
182182

183-
slot0_partition: partition@8800 {
183+
slot0_partition: partition@10000 {
184184
label = "image-0";
185-
reg = <0x00008800 DT_SIZE_K(240)>;
185+
reg = <0x000010000 DT_SIZE_K(192)>;
186186
};
187187

188-
slot1_partition: partition@44800 {
188+
slot1_partition: partition@40000 {
189189
label = "image-1";
190-
reg = <0x00044800 DT_SIZE_K(234)>;
190+
reg = <0x00040000 DT_SIZE_K(192)>;
191191
};
192192

193193
/* Set 4Kb of storage at the end of the 512Kb of flash */

boards/st/nucleo_h743zi/nucleo_h743zi.dts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -252,28 +252,19 @@ zephyr_udc0: &usbotg_fs {
252252
read-only;
253253
};
254254

255-
/* storage: 128KB for settings */
256-
storage_partition: partition@20000 {
257-
label = "storage";
258-
reg = <0x00020000 DT_SIZE_K(128)>;
259-
};
260-
261-
/* application image slot: 256KB */
262-
slot0_partition: partition@40000 {
255+
slot0_partition: partition@20000 {
263256
label = "image-0";
264-
reg = <0x00040000 DT_SIZE_K(256)>;
257+
reg = <0x00020000 DT_SIZE_K(384)>;
265258
};
266259

267-
/* backup slot: 256KB */
268260
slot1_partition: partition@80000 {
269261
label = "image-1";
270-
reg = <0x00080000 DT_SIZE_K(256)>;
262+
reg = <0x00080000 DT_SIZE_K(384)>;
271263
};
272264

273-
/* swap slot: 128KB */
274-
scratch_partition: partition@c0000 {
275-
label = "image-scratch";
276-
reg = <0x000c0000 DT_SIZE_K(128)>;
265+
storage_partition: partition@e0000 {
266+
label = "storage";
267+
reg = <0x000e0000 DT_SIZE_K(128)>;
277268
};
278269
};
279270
};

boards/st/nucleo_l073rz/nucleo_l073rz.dts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
zephyr,shell-uart = &usart2;
2222
zephyr,sram = &sram0;
2323
zephyr,flash = &flash0;
24+
zephyr,code-partition = &slot0_partition;
2425
};
2526

2627
leds: leds {
@@ -185,3 +186,32 @@ stm32_lp_tick_source: &lptim1 {
185186
&vref {
186187
status = "okay";
187188
};
189+
190+
&flash0 {
191+
partitions {
192+
compatible = "fixed-partitions";
193+
#address-cells = <1>;
194+
#size-cells = <1>;
195+
196+
boot_partition: partition@0 {
197+
label = "mcuboot";
198+
reg = <0x00000000 DT_SIZE_K(64)>;
199+
};
200+
201+
slot0_partition: partition@10000 {
202+
label = "image-0";
203+
reg = <0x00010000 DT_SIZE_K(64)>;
204+
};
205+
206+
slot1_partition: partition@20000 {
207+
label = "image-1";
208+
reg = <0x00020000 DT_SIZE_K(62)>;
209+
};
210+
211+
/* Set 2KB of storage at the end of 128KB flash */
212+
storage_partition: partition@2f800 {
213+
label = "storage";
214+
reg = <0x0001f800 DT_SIZE_K(2)>;
215+
};
216+
};
217+
};

boards/st/nucleo_l152re/nucleo_l152re.dts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
zephyr,shell-uart = &usart2;
2121
zephyr,sram = &sram0;
2222
zephyr,flash = &flash0;
23+
zephyr,code-partition = &slot0_partition;
2324
};
2425

2526
leds: leds {
@@ -147,6 +148,21 @@
147148
#address-cells = <1>;
148149
#size-cells = <1>;
149150

151+
boot_partition: partition@0 {
152+
label = "mcuboot";
153+
reg = <0x00000000 DT_SIZE_K(64)>;
154+
};
155+
156+
slot0_partition: partition@10000 {
157+
label = "image-0";
158+
reg = <0x00010000 DT_SIZE_K(220)>;
159+
};
160+
161+
slot1_partition: partition@47000 {
162+
label = "image-1";
163+
reg = <0x00047000 DT_SIZE_K(220)>;
164+
};
165+
150166
/* Set 8KB of storage at the end of 512KB flash */
151167
storage_partition: partition@7e000 {
152168
label = "storage";

0 commit comments

Comments
 (0)