AnsweredAssumed Answered

IVT DCD field should be set to zero if DCD not used?

Question asked by rshipman on Nov 8, 2019
Latest reply on Nov 12, 2019 by Jorge Antonio Alcala Vazquez

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.

Outcomes