From 722ec2e59c52b6a5e4576e8d29dc01c573be05a4 Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Tue, 18 Oct 2016 13:06:56 +0000 Subject: [PATCH] Refs #141. - Added support for a user provided flash layout table for all targets. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@159 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- Target/Source/ARM7_LPC2000/Crossworks/flash.c | 20 ++++++++++++++++ Target/Source/ARM7_LPC2000/GCC/flash.c | 20 ++++++++++++++++ Target/Source/ARMCM0_STM32/flash.c | 16 +++++++++++++ Target/Source/ARMCM3_EFM32/flash.c | 16 +++++++++++++ Target/Source/ARMCM3_LM3S/flash.c | 16 +++++++++++++ Target/Source/ARMCM3_STM32/flash.c | 16 +++++++++++++ Target/Source/ARMCM3_STM32F2/flash.c | 16 +++++++++++++ Target/Source/ARMCM4_STM32/flash.c | 16 +++++++++++++ Target/Source/ARMCM4_TM4C/flash.c | 16 +++++++++++++ Target/Source/HCS12/flash.c | 23 ++++++++++++++++++- Target/Source/HCS12/flash_ecc.c | 20 ++++++++++++++++ Target/Source/TRICORE_TC1798/flash.c | 20 ++++++++++++++++ 12 files changed, 214 insertions(+), 1 deletion(-) diff --git a/Target/Source/ARM7_LPC2000/Crossworks/flash.c b/Target/Source/ARM7_LPC2000/Crossworks/flash.c index 000df7c1..a695801e 100644 --- a/Target/Source/ARM7_LPC2000/Crossworks/flash.c +++ b/Target/Source/ARM7_LPC2000/Crossworks/flash.c @@ -59,6 +59,14 @@ #define IAP_CMD_SUCCESS (0) +/**************************************************************************************** +* Plausibility checks +****************************************************************************************/ +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + + /**************************************************************************************** * Type definitions ****************************************************************************************/ @@ -106,6 +114,15 @@ static blt_int8u FlashGetSector(blt_addr address); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -165,6 +182,9 @@ static const tFlashSector flashLayout[] = /* { 0x0003E000, 0x02000, 17}, flash sector 17 - used by NXP bootcode */ #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARM7_LPC2000/GCC/flash.c b/Target/Source/ARM7_LPC2000/GCC/flash.c index 69efebdd..cb5814a2 100644 --- a/Target/Source/ARM7_LPC2000/GCC/flash.c +++ b/Target/Source/ARM7_LPC2000/GCC/flash.c @@ -59,6 +59,14 @@ #define IAP_CMD_SUCCESS (0) +/**************************************************************************************** +* Plausibility checks +****************************************************************************************/ +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + + /**************************************************************************************** * Type definitions ****************************************************************************************/ @@ -106,6 +114,15 @@ static blt_int8u FlashGetSector(blt_addr address); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -165,6 +182,9 @@ static const tFlashSector flashLayout[] = /* { 0x0003E000, 0x02000, 17}, flash sector 17 - used by NXP bootcode */ #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARMCM0_STM32/flash.c b/Target/Source/ARMCM0_STM32/flash.c index 847b095e..f11e891c 100644 --- a/Target/Source/ARMCM0_STM32/flash.c +++ b/Target/Source/ARMCM0_STM32/flash.c @@ -70,6 +70,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -113,6 +117,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array with the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -168,6 +181,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 256 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARMCM3_EFM32/flash.c b/Target/Source/ARMCM3_EFM32/flash.c index deac01ed..7c11c8fc 100644 --- a/Target/Source/ARMCM3_EFM32/flash.c +++ b/Target/Source/ARMCM3_EFM32/flash.c @@ -63,6 +63,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -107,6 +111,15 @@ static blt_int32u FlashCalcPageSize(void); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -163,6 +176,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 512 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARMCM3_LM3S/flash.c b/Target/Source/ARMCM3_LM3S/flash.c index 8658175b..ae0ada35 100644 --- a/Target/Source/ARMCM3_LM3S/flash.c +++ b/Target/Source/ARMCM3_LM3S/flash.c @@ -67,6 +67,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -110,6 +114,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -166,6 +179,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 512 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARMCM3_STM32/flash.c b/Target/Source/ARMCM3_STM32/flash.c index 25c44f60..05e646c1 100644 --- a/Target/Source/ARMCM3_STM32/flash.c +++ b/Target/Source/ARMCM3_STM32/flash.c @@ -82,6 +82,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -141,6 +145,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -197,6 +210,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 512 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/ARMCM3_STM32F2/flash.c b/Target/Source/ARMCM3_STM32F2/flash.c index a348dcf2..3653762e 100644 --- a/Target/Source/ARMCM3_STM32F2/flash.c +++ b/Target/Source/ARMCM3_STM32F2/flash.c @@ -63,6 +63,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -104,6 +108,15 @@ static blt_int8u FlashGetSector(blt_addr address); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -137,6 +150,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 1024 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /** \brief Lookup table to quickly convert sector number to mask. * \details The STM32F2x Standard Peripheral Library driver needs a sector mask instead diff --git a/Target/Source/ARMCM4_STM32/flash.c b/Target/Source/ARMCM4_STM32/flash.c index 0e9cec48..a9575bed 100644 --- a/Target/Source/ARMCM4_STM32/flash.c +++ b/Target/Source/ARMCM4_STM32/flash.c @@ -64,6 +64,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -105,6 +109,15 @@ static blt_int8u FlashGetSector(blt_addr address); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -148,6 +161,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 2048 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /** \brief Lookup table to quickly convert sector number to mask. * \details The STM32F4x Standard Peripheral Library driver needs a sector mask instead diff --git a/Target/Source/ARMCM4_TM4C/flash.c b/Target/Source/ARMCM4_TM4C/flash.c index d2f725bf..64454437 100644 --- a/Target/Source/ARMCM4_TM4C/flash.c +++ b/Target/Source/ARMCM4_TM4C/flash.c @@ -69,6 +69,10 @@ #error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block." #endif +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -112,6 +116,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -168,6 +181,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 512 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /**************************************************************************************** diff --git a/Target/Source/HCS12/flash.c b/Target/Source/HCS12/flash.c index e62f11dc..4fb8aca6 100644 --- a/Target/Source/HCS12/flash.c +++ b/Target/Source/HCS12/flash.c @@ -98,6 +98,14 @@ #define KEYACC_BIT (0x20) +/**************************************************************************************** +* Plausibility checks +****************************************************************************************/ +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + + /**************************************************************************************** * Type definitions ****************************************************************************************/ @@ -155,6 +163,15 @@ static blt_bool FlashOperate(blt_int8u cmd, blt_addr addr, blt_int16u data); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -167,7 +184,7 @@ static blt_bool FlashOperate(blt_int8u cmd, blt_addr addr, blt_int16u data); */ static const tFlashSector flashLayout[] = { -#if (BOOT_NVM_SIZE_KB > 512) +#if (BOOT_NVM_SIZE_KB > 512) #error "BOOT_NVM_SIZE_KB > 512 is currently not supported." #endif #if (BOOT_NVM_SIZE_KB >= 512) @@ -220,6 +237,10 @@ static const tFlashSector flashLayout[] = /* { 0xFF000, 0x0800 }, flash page 0x3F - reserved for bootloader */ /* { 0xFF800, 0x0800 }, flash page 0x3F - reserved for bootloader */ }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ + /** \brief Array with executable code for performing flash operations. * \details This array contains the machine code to perform the actual command on the diff --git a/Target/Source/HCS12/flash_ecc.c b/Target/Source/HCS12/flash_ecc.c index bf5b82f0..b2842335 100644 --- a/Target/Source/HCS12/flash_ecc.c +++ b/Target/Source/HCS12/flash_ecc.c @@ -93,6 +93,14 @@ #define FPVIOL_BIT (0x10) +/**************************************************************************************** +* Plausibility checks +****************************************************************************************/ +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + + /**************************************************************************************** * Type definitions ****************************************************************************************/ @@ -171,6 +179,15 @@ static blt_bool FlashOperate(blt_int8u cmd, blt_addr addr, blt_int16u params[] /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details Also controls what part of the flash memory is reserved for the bootloader. * If the bootloader size changes, the reserved sectors for the bootloader @@ -271,6 +288,9 @@ static const tFlashPrescalerSysclockMapping flashFDIVlookup[] = { 30600, 31600, 0x1E }, /* FDIV[5:0] = prescaler = 0x1E */ { 31600, 32600, 0x1F } /* FDIV[5:0] = prescaler = 0x1F */ }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /** \brief Array with executable code for performing flash operations. diff --git a/Target/Source/TRICORE_TC1798/flash.c b/Target/Source/TRICORE_TC1798/flash.c index cd891309..f57e7964 100644 --- a/Target/Source/TRICORE_TC1798/flash.c +++ b/Target/Source/TRICORE_TC1798/flash.c @@ -99,6 +99,14 @@ #define FLASH_CS_RANGE_TOTAL_WORDS ((FLASH_WRITE_BLOCK_SIZE/4u) - \ (FLASH_CS_RANGE_START_OFFSET/4u)) + +/**************************************************************************************** +* Plausibility checks +****************************************************************************************/ +#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE +#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u) +#endif + /**************************************************************************************** * Type definitions @@ -144,6 +152,15 @@ static blt_bool FlashTricoreEraseSector(blt_addr start_addr); /**************************************************************************************** * Local constant declarations ****************************************************************************************/ +/** \brief If desired, it is possible to set BOOT_FLASH_CUSTOM_LAYOUT_ENABLE to > 0 + * in blt_conf.h and then implement your own version of the flashLayout[] table + * in a source-file with the name flash_layout.c. This way you customize the + * flash memory size reserved for the bootloader, without having to modify + * the flashLayout[] table in this file directly. This file will then include + * flash_layout.c so there is no need to compile it additionally with your + * project. + */ +#if (BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0) /** \brief Array wit the layout of the flash memory. * \details The current implementation assumes that the bootloader is in the 2Mbyte * PFLASH0 and supports flash operations only on the 2Mbyte PFLASH1. The reason @@ -173,6 +190,9 @@ static const tFlashSector flashLayout[] = #error "BOOT_NVM_SIZE_KB > 2048 is currently not supported." #endif }; +#else +#include "flash_layout.c" +#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */ /****************************************************************************************