Boot mode header examples

Below you will find two examples of boot mode headers (bmhd), one for tc39x and one for tc49x.

Example tc39x

1. Example #pragma section

#pragma section ".bmhd_0_orig" a
const IfxCpu_Bmhd bmhd_0_orig=
{
	.bmi=				0x00FE,		/**< \brief Boot Mode Index (BMI)*/
	.bmhdid=			0xB359,		/**< \brief Boot Mode Header ID (CODE) = B359H*/
	.stad=			0xA0000000,		/**< \brief User Code start address*/
	.crc=			0x31795570,		/**< \brief Check Result for the BMI Header (offset 000H - 007H)*/
	.crcInv=		0xCE86AA8F,		/**< \brief Inverted Check Result for the BMI Header (offset 000H - 007H)*/
	.confirmation=	0x43211234,		/**< \brief 32-bit CODE, (always same)*/
};
#pragma section

2. Corresponding linker script example

SECTIONS
{
	/* Boot Mode Header - original values */
	.bmhd_0_orig 0xaf400000 : { KEEP (*(.bmhd_0_orig)) } > BMHD_ORIG
}

Example tc49x

1. Example #pragma section

#pragma clang section rodata=".rtc_bmhd_0"
const IfxCpu_Bmhd rtc_bmhd_0 __attribute__((used)) =
{
	.bmi=				0x000FU,		/**< \brief Boot Mode Index (BMI)*/
	.bmhdid=			0xB359U,		/**< \brief Boot Mode Header ID (CODE) = B359H*/
	.stad=				0xA0000000U,		/**< \brief User Code start address - CPU_0*/
	.crc=				0x442D2C9DU,		/**< \brief Check Result for the BMI Header (offset 000H - 007H)*/
	.crcInv=			0xBBD2D362U,		/**< \brief Inverted Check Result for the BMI Header (offset 000H - 007H)*/
	.confirmation=		0x43211234U,		/**< \brief 32-bit CODE, (always same)*/
	.confirmationCopy=	0x43211234U,		/**< \brief 32-bit CODE, (always same)*/
};
#pragma clang section rodata=""

2. Corresponding linker script example

SECTIONS
{
    /* Boot Mode Header - BMHD RTC */
    .rtc_bmhd_0 0xae404800 : { KEEP (*(.rtc_bmhd_0)) } > UCB0
}