What is the allowed address range of RT1020 DCD?

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

What is the allowed address range of RT1020 DCD?

1,251 Views
mitterha
Senior Contributor I

Hello,

I am trying to set the FlexSPI frequency to 30 MHz for testing with DCD.

I added the following lines to DCD

pastedImage_1.png

but after downloading and a reset the values in the registers are not the ones I specified.

The XIP defines are set to

XIP_BOOT_HEADER_DCD_ENABLE=1
XIP_EXTERNAL_FLASH=1
XIP_BOOT_HEADER_ENABLE=1

and qspi flash nor config has

.serialClkFreq = kFlexSpiSerialClk_30MHz, //kFlexSpiSerialClk_133MHz,

but the SPI flash is still running with 130MHz.

After a reset CCM_CSCMR1 is set to

pastedImage_6.png

and CCM_ANALOG_PFD_480 to

pastedImage_7.png

Why does DCD not set the values I specify?

In RT1020 reference manual 8.7.2.1 below Table 8-41 is the following note

pastedImage_1.png

but I can't find a list of allowed block/target address in RT1020 reference manual. Where can I find them?

Kind regards,

Stefan

Tags (2)
9 Replies

1,129 Views
Yuri
NXP Employee
NXP Employee

Hello,

   You may look at Table 9-42 (Valid DCD address ranges) of i.MX RT1050 Reference Manual.

.

https://www.nxp.com/webapp/Download?colCode=IMXRT1050RM 

  You mentioned "after downloading and a reset" - the DCD values are set by boot ROM
and after reset - the values return to default ones.

Regards,

Yuri.

0 Kudos

1,129 Views
mitterha
Senior Contributor I

Hello Yuri,

thank you for the hint. I think the table should be included in RT1020 Reference Manual too.

You are right, I was only thinking about the case after booting.

Does the Boot-ROM execute in flexspi_nor..._debug after downloading with DAP Link? If yes the registers are not set correctly.

How do I change the FlexSPI clock after a reset (with XIP)? In the application projects the code which would change FlexSPI clock is always excluded when XIP is active.

Kind regards,

Stefan

0 Kudos

1,129 Views
Yuri
NXP Employee
NXP Employee

Hello, stefan.mitterhauser@lst.at 

    DCD approach is working, when boot ROM tries to boot some external device.

DCD-based initialization is performed before user's application load and run.

When working with a debugger, this is a prerogative of (debugger) initialization

script to provide all system initialization, needed for the application, assuming
minimal boot ROM influence (in serial downloader mode).

  So, as first step, test the system with the initialization script, after that - copy it to

the DCD.

  When using the XIP boot, FlexSPI frequency should be set as the parameter, provided

in the configuration block, described in section 8.6.3.1 (FlexSPI Configuration Block).

Hardly it is good practice to modify FlexSPI parameters on the fly (XIP).

https://www.nxp.com/webapp/Download?colCode=IMXRT1020RM 

Regards,

Yuri.

0 Kudos

1,129 Views
mitterha
Senior Contributor I

Hello Yuri,

thank you for your answer.

I think in flexspi_nor_debug mode there is no initialization script used. They are used in SDRAM debug to set up the external SDRAM for downloading.

In IAR EWARM an initialization script can be included in Options>Debugger>Setup macros right?

Kind regards,

Stefan

1,129 Views
Yuri
NXP Employee
NXP Employee

Hello,

  Yes, for IAR Setup macros are used.

Regards,

Yuri.

0 Kudos

1,129 Views
mitterha
Senior Contributor I

Hello Yuri,

I have another question.

When using the XIP boot, FlexSPI frequency should be set as the parameter, provided

in the configuration block, described in section 8.6.3.1 (FlexSPI Configuration Block).

Hardly it is good practice to modify FlexSPI parameters on the fly (XIP).

If I am setting up FlexSPI frequency in configuration block and in my program something goes wrong and changes the FlexSPI/Clock settings but I only do a Software Reset the boot ROM will never execute and reconfiger the peripherals.

How can I make sure that the correct frequency settings get applied after a software reset? I'm asking because the part which modifies the FlexSPI clock source in clock_config.c gets only executed when the code is not executed from flash (non XIP).

Kind regards,

Stefan

0 Kudos

1,129 Views
Yuri
NXP Employee
NXP Employee

Hello, Stefan!

  As for software reset: there is general recommendation  to remove power  from all

components on  the board in the event of a (software) processor reset in order to avoid

issues with components, critical for rebooting the system - because some components

(eMMC, QSPI) may be in unpredictable state after CPU reset. So, the POR may be recommended

for reboot (as implemented via WDOG on the reference design).

Regards,

Yuri.

0 Kudos

1,129 Views
mitterha
Senior Contributor I

Hello Yuri,

thank you for your answer and sorry for my late reply.

What would be the way to go if we can not remove power from all components on the board?

Kind regards,

Stefan

0 Kudos

1,129 Views
Yuri
NXP Employee
NXP Employee

stefan.mitterhauser@lst.at 

Hello, Stefan!

   If such simple way as just power removing is not acceptable - it is required 

to analyze how all needed external devices should be re-initialized (more carefully).

Perhaps there are some command sequences to reset the devices. 

Regards,

Yuri.

0 Kudos