Hello,
I'm using the MIMXRT11CAE4A processor and the MCU Expresso IDE tool. I've generated a binary file from the example code evkmimxrt1010TOGGLE_igpio_led_output. According to the reference manual for the iMXRT1010, the image should include an IVT structure.
In the code, the IVT header value is defined as follows:
#define IVT_MAJOR_VERSION 0x4
#define IVT_MAJOR_VERSION_SHIFT 0x4
#define IVT_MAJOR_VERSION_MASK 0xF
#define IVT_MINOR_VERSION 0x1
#define IVT_MINOR_VERSION_SHIFT 0x0
#define IVT_MINOR_VERSION_MASK 0xF
#define IVT_VERSION (major, minor) \
((((major)&IVT_MAJOR_VERSION_MASK) << IVT_MAJOR_VERSION_SHIFT) | \
(((minor)&IVT_MINOR_VERSION_MASK) << IVT_MINOR_VERSION_SHIFT))
/* IVT header */
#define IVT_TAG_HEADER 0xD1 /**< Image Vector Table */
#define IVT_SIZE 0x2000
#define IVT_PAR IVT_VERSION (IVT_MAJOR_VERSION, IVT_MINOR_VERSION)
#define IVT_HEADER (IVT_TAG_HEADER | (IVT_SIZE << | (IVT_PAR << 24))
By calculating the above, the IVT header value should be 0x410200D1.
However, the value in the image does not match this expected value. Have I made any mistakes in generating the binary file?
I've generated the binary file by right-clicking on the .axf file, selecting binary utilities, and then create binary.
The values of XIP_EXTERNAL_FLASH and XIP_BOOT_HEADER_ENABLE is both set to 1, which should mean that the IVT and boot data are added to the image.
Additionally, the reference manual specifies that the Flash Configuration Block should be present at address 0x400 of the flash memory. How should I implement this?

