Boot: Extend flash layout for multiple images
This patch introduces the BOOT_IMAGE_NUMBER macro and current_image
variable to support multiple updatable images and the associated
extended flash layout.
The FLASH_AREA_IMAGE_* object-like macros are replaced with
function-like ones and therefore some functions have been updated,
because the labels of a switch statement and the initialization
values of objects with static storage duration have to be constant
expressions.
Change-Id: Ib7b26ec3c94233e52db4f97825ddb6a3e55bb1d3
Signed-off-by: David Vincze <david.vincze@arm.com>
diff --git a/boot/zephyr/include/target.h b/boot/zephyr/include/target.h
index 6e777fb..a11616f 100644
--- a/boot/zephyr/include/target.h
+++ b/boot/zephyr/include/target.h
@@ -1,5 +1,7 @@
/*
* Copyright (C) 2017, Linaro Ltd
+ * Copyright (c) 2019, Arm Limited
+ *
* SPDX-License-Identifier: Apache-2.0
*/
@@ -45,4 +47,11 @@
#error "Target support is incomplete; cannot build mcuboot."
#endif
+#if ((MCUBOOT_IMAGE_NUMBER == 2) && (!defined(FLASH_AREA_IMAGE_2_OFFSET) || \
+ !defined(FLASH_AREA_IMAGE_2_SIZE) || \
+ !defined(FLASH_AREA_IMAGE_3_OFFSET) || \
+ !defined(FLASH_AREA_IMAGE_3_SIZE)))
+#error "Target support is incomplete; cannot build mcuboot."
#endif
+
+#endif /* H_TARGETS_TARGET_ */