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
This commit is contained in:
parent
c42509f68a
commit
722ec2e59c
|
@ -59,6 +59,14 @@
|
||||||
#define IAP_CMD_SUCCESS (0)
|
#define IAP_CMD_SUCCESS (0)
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
* Plausibility checks
|
||||||
|
****************************************************************************************/
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
@ -106,6 +114,15 @@ static blt_int8u FlashGetSector(blt_addr address);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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 */
|
/* { 0x0003E000, 0x02000, 17}, flash sector 17 - used by NXP bootcode */
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -59,6 +59,14 @@
|
||||||
#define IAP_CMD_SUCCESS (0)
|
#define IAP_CMD_SUCCESS (0)
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
* Plausibility checks
|
||||||
|
****************************************************************************************/
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
@ -106,6 +114,15 @@ static blt_int8u FlashGetSector(blt_addr address);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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 */
|
/* { 0x0003E000, 0x02000, 17}, flash sector 17 - used by NXP bootcode */
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -70,6 +70,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -113,6 +117,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array with the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 256 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -63,6 +63,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -107,6 +111,15 @@ static blt_int32u FlashCalcPageSize(void);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 512 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -67,6 +67,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -110,6 +114,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 512 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -82,6 +82,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -141,6 +145,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 512 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -63,6 +63,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -104,6 +108,15 @@ static blt_int8u FlashGetSector(blt_addr address);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 1024 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
/** \brief Lookup table to quickly convert sector number to mask.
|
/** \brief Lookup table to quickly convert sector number to mask.
|
||||||
* \details The STM32F2x Standard Peripheral Library driver needs a sector mask instead
|
* \details The STM32F2x Standard Peripheral Library driver needs a sector mask instead
|
||||||
|
|
|
@ -64,6 +64,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -105,6 +109,15 @@ static blt_int8u FlashGetSector(blt_addr address);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 2048 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
/** \brief Lookup table to quickly convert sector number to mask.
|
/** \brief Lookup table to quickly convert sector number to mask.
|
||||||
* \details The STM32F4x Standard Peripheral Library driver needs a sector mask instead
|
* \details The STM32F4x Standard Peripheral Library driver needs a sector mask instead
|
||||||
|
|
|
@ -69,6 +69,10 @@
|
||||||
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
#error "FLASH_VECTOR_TABLE_CS_OFFSET is set too high. It must be located in the first writable block."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
|
@ -112,6 +116,15 @@ static blt_addr FlashGetSectorSize(blt_int8u sector);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 512 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
|
@ -98,6 +98,14 @@
|
||||||
#define KEYACC_BIT (0x20)
|
#define KEYACC_BIT (0x20)
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
* Plausibility checks
|
||||||
|
****************************************************************************************/
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
@ -155,6 +163,15 @@ static blt_bool FlashOperate(blt_int8u cmd, blt_addr addr, blt_int16u data);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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[] =
|
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."
|
#error "BOOT_NVM_SIZE_KB > 512 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
#if (BOOT_NVM_SIZE_KB >= 512)
|
#if (BOOT_NVM_SIZE_KB >= 512)
|
||||||
|
@ -220,6 +237,10 @@ static const tFlashSector flashLayout[] =
|
||||||
/* { 0xFF000, 0x0800 }, flash page 0x3F - reserved for bootloader */
|
/* { 0xFF000, 0x0800 }, flash page 0x3F - reserved for bootloader */
|
||||||
/* { 0xFF800, 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.
|
/** \brief Array with executable code for performing flash operations.
|
||||||
* \details This array contains the machine code to perform the actual command on the
|
* \details This array contains the machine code to perform the actual command on the
|
||||||
|
|
|
@ -93,6 +93,14 @@
|
||||||
#define FPVIOL_BIT (0x10)
|
#define FPVIOL_BIT (0x10)
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
* Plausibility checks
|
||||||
|
****************************************************************************************/
|
||||||
|
#ifndef BOOT_FLASH_CUSTOM_LAYOUT_ENABLE
|
||||||
|
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Type definitions
|
* Type definitions
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
@ -171,6 +179,15 @@ static blt_bool FlashOperate(blt_int8u cmd, blt_addr addr, blt_int16u params[]
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details Also controls what part of the flash memory is reserved for the bootloader.
|
* \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
|
* 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 */
|
{ 30600, 31600, 0x1E }, /* FDIV[5:0] = prescaler = 0x1E */
|
||||||
{ 31600, 32600, 0x1F } /* FDIV[5:0] = prescaler = 0x1F */
|
{ 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.
|
/** \brief Array with executable code for performing flash operations.
|
||||||
|
|
|
@ -99,6 +99,14 @@
|
||||||
#define FLASH_CS_RANGE_TOTAL_WORDS ((FLASH_WRITE_BLOCK_SIZE/4u) - \
|
#define FLASH_CS_RANGE_TOTAL_WORDS ((FLASH_WRITE_BLOCK_SIZE/4u) - \
|
||||||
(FLASH_CS_RANGE_START_OFFSET/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
|
* Type definitions
|
||||||
|
@ -144,6 +152,15 @@ static blt_bool FlashTricoreEraseSector(blt_addr start_addr);
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Local constant declarations
|
* 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.
|
/** \brief Array wit the layout of the flash memory.
|
||||||
* \details The current implementation assumes that the bootloader is in the 2Mbyte
|
* \details The current implementation assumes that the bootloader is in the 2Mbyte
|
||||||
* PFLASH0 and supports flash operations only on the 2Mbyte PFLASH1. The reason
|
* 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."
|
#error "BOOT_NVM_SIZE_KB > 2048 is currently not supported."
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
#include "flash_layout.c"
|
||||||
|
#endif /* BOOT_FLASH_CUSTOM_LAYOUT_ENABLE == 0 */
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
|
|
Loading…
Reference in New Issue