microSD on RT1052 with DCD fails at SD_SendScr

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

microSD on RT1052 with DCD fails at SD_SendScr

2,163 Views
kwolley
Contributor II

Hello,

A module created for read/write to an SDCard running out of internal RAM operates properly.  When I transition to external ram (XIP_BOOT_HEADER_DCD_ENABLE=1), the program fails at SD_SendScr.  All other modules (i.e I2C, PWM etc) unrelated to uSD are functional.

kwolley_1-1702340787765.png

Any insight would be greatly appreciated.

 

 

Labels (1)
Tags (1)
0 Kudos
Reply
6 Replies

2,139 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @kwolley ,

 

Did you test it on any EVK board or custom board? Please kindly clarify.

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

2,125 Views
kwolley
Contributor II

@Kan_Li,

the attached project functions on a custom board when DCD_ENABLED=0, however when I use the DCD and external RAM it fails.

0 Kudos
Reply

2,090 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @kwolley ,

 

Did you use another SDRAM in your custom board other than the one on EVK board? if yes, maybe you have to update the DCD config file. Please refer to Solved: Re: RT1050 - Recreate DCD SDRAM config C code? - NXP Community for details.

 

Hope that helps,

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

2,055 Views
kwolley
Contributor II

@Kan_Li 

I apologize for my delay in response. 

The DCD for this project configures clocks as follows:

#1.9, command: write_value, address: CCM_ANALOG_PLL_SYS, value: 0x2001, size: 4
#1.10, command: write_value, address: CCM_ANALOG_PFD_528, value: 0x1018101B, size: 4
#1.11, command: write_value, address: CCM_ANALOG_PLL_USB1, value: 0x3040, size: 4
#1.12, command: write_value, address: CCM_ANALOG_PFD_480, value: 0x1311100C, size: 4
#1.13, command: write_value, address: CCM_CBCDR, value: 0xA8340, size: 4
#1.14, command: write_value, address: CCM_CSCMR1, value: 0x4930000, size: 4
#1.15, command: write_value, address: CCM_CSCDR1, value: 0x6490B00, size: 4

The above commands assign the USDCH1 clock to PLL2_PFD0.  This setup functions properly when operating out of internal RAM (no DCD is used).  

Am I missing a register assignment?

0 Kudos
Reply

2,042 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @kwolley ,

 

I am sorry, but I didn't find the code you are referring to in the project you sent before, are you referring to another one or you have update the DCD files afterwards? Please kindly clarify.

Also I am wondering how you generate the DCD source code, by the config tool or edit manually according to the RM? as I found the value set to CCM_CSCMR1 and CCM_CSCDR1 has some bits on the reserved field.

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

 

0 Kudos
Reply

1,967 Views
kwolley
Contributor II

@Kan_Li 

I use the DCD peripheral tool and clocks tool (to verify no warnings or errors) in MCUXpresso and the reference manual.  

Regarding the reserved fields, changing these fields to any value other than the default results in a warning so I do not edit these fields.  

Removing all USB PLL and USDHC register definitions from the DCD and defining clock configuration in sdmmc_config.c does not solve the issue.  When probing the SPI lines to the uSD, there appears to be a memory access issue when CMD8 should be sent.  

The program running out of internal RAM functions on both the custom board and the eval board.  While operating out of external SDRAM, it fails. 

 

0 Kudos
Reply