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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

1,145件の閲覧回数
rshipman
Senior Contributor I

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 件の賞賛
返信
1 返信

1,077件の閲覧回数
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 件の賞賛
返信