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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

615 Views
rshipman
Contributor V

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.

0 Kudos
1 Reply

547 Views
jorge_a_vazquez
NXP Employee
NXP Employee

Hi rshipman

Thanks for your comments, this is a different way to implement #define for the DCD_ADDRESS.

Best regards

Jorge Alcala

0 Kudos