IDE: MCUXpresso IDE v11.0.1 [Build 2563] [2019-09-01]
Platform: MIMXRT1020-evk eval board
Example project: demos/iled_blinky
In the default case the Device Configuration Data (DCD) field is not used: XIP_BOOT_HEADER_DCD_ENABLE is undefined.
In xip/evkmimxrt1020_sdram_ini_dcd.c this results in the dcd data structure being set up as:
const uint8_t dcd_data[] = {0x00};
Which is not a valid DCD file according to the reference manual. The ARM seems to ignore a DCD without a valid header, so perhaps this isn't an issue. And has proved useful in other experiments... :-)
Shouldn't the dcd field in the structure image_vector_table be set to zero when the DCD is not being used?
Currently it seems to always be set to dcd_data.
E.g. in xip/fsl_flexspi_nor_boot.h, have something like:
#if defined(XIP_BOOT_HEADER_DCD_ENABLE) && (XIP_BOOT_HEADER_DCD_ENABLE == 1)
#define DCD_ADDRESS dcd_data
#else
#define DCD_ADDRESS 0
#endif
instead of just:
#define DCD_ADDRESS 0
Just thought I would flag this one up.
Hi rshipman
Thanks for your comments, this is a different way to implement #define for the DCD_ADDRESS.
Best regards
Jorge Alcala