Skip to content

Commit db454d2

Browse files
boot/zephyr: Add CONFIG_SINGLE_APPLICATION_SLOT_RAM_LOAD
This option basically enables MCUBOOT_RAM_LOAD when single application slot is used. Signed-off-by: Ederson de Souza <[email protected]>
1 parent 7cf448d commit db454d2

File tree

3 files changed

+32
-14
lines changed

3 files changed

+32
-14
lines changed

boot/zephyr/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ zephyr_library_sources(
147147
)
148148
endif()
149149

150-
if(CONFIG_BOOT_RAM_LOAD)
150+
if(CONFIG_BOOT_RAM_LOAD OR CONFIG_SINGLE_APPLICATION_SLOT_RAM_LOAD)
151151
zephyr_library_sources(
152152
${BOOT_DIR}/bootutil/src/ram_load.c
153153
)

boot/zephyr/Kconfig

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -271,19 +271,6 @@ config BOOT_FIRMWARE_LOADER
271271

272272
endchoice
273273

274-
# Workaround for not being able to have commas in macro arguments
275-
DT_CHOSEN_Z_SRAM := zephyr,sram
276-
277-
if BOOT_RAM_LOAD
278-
config BOOT_IMAGE_EXECUTABLE_RAM_START
279-
hex "Boot image executable ram start"
280-
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_SRAM))
281-
282-
config BOOT_IMAGE_EXECUTABLE_RAM_SIZE
283-
int "Boot image executable base size"
284-
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_SRAM),0)
285-
endif
286-
287274
config BOOT_DIRECT_XIP_REVERT
288275
bool "Enable the revert mechanism in direct-xip mode"
289276
depends on BOOT_DIRECT_XIP
@@ -320,6 +307,31 @@ config BOOT_SWAP_SAVE_ENCTLV
320307

321308
endif # !SINGLE_APPLICATION_SLOT
322309

310+
if SINGLE_APPLICATION_SLOT
311+
312+
config SINGLE_APPLICATION_SLOT_RAM_LOAD
313+
bool "RAM load for single application slot"
314+
help
315+
If y, the image is loaded to RAM and executed from there. For this reason,
316+
the image has to be linked to be executed from RAM. The address that the
317+
image is copied to is specified using the load-addr argument to the
318+
imgtool.py script which writes it to the image header.
319+
320+
endif # SINGLE_APPLICATION_SLOT
321+
322+
# Workaround for not being able to have commas in macro arguments
323+
DT_CHOSEN_Z_SRAM := zephyr,sram
324+
325+
if BOOT_RAM_LOAD || SINGLE_APPLICATION_SLOT_RAM_LOAD
326+
config BOOT_IMAGE_EXECUTABLE_RAM_START
327+
hex "Boot image executable ram start"
328+
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_SRAM))
329+
330+
config BOOT_IMAGE_EXECUTABLE_RAM_SIZE
331+
int "Boot image executable base size"
332+
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_SRAM),0)
333+
endif
334+
323335
config BOOT_ENCRYPTION_SUPPORT
324336
bool
325337
help

boot/zephyr/include/mcuboot_config/mcuboot_config.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@
108108

109109
#endif /* CONFIG_SINGLE_APPLICATION_SLOT */
110110

111+
#ifdef CONFIG_SINGLE_APPLICATION_SLOT_RAM_LOAD
112+
#define MCUBOOT_RAM_LOAD 1
113+
#define IMAGE_EXECUTABLE_RAM_START CONFIG_BOOT_IMAGE_EXECUTABLE_RAM_START
114+
#define IMAGE_EXECUTABLE_RAM_SIZE CONFIG_BOOT_IMAGE_EXECUTABLE_RAM_SIZE
115+
#endif
116+
111117
#ifdef CONFIG_LOG
112118
#define MCUBOOT_HAVE_LOGGING 1
113119
#endif

0 commit comments

Comments
 (0)