imx rt1024: no DQS, fexspi at 60 MHz fails

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

imx rt1024: no DQS, fexspi at 60 MHz fails

跳至解决方案
674 次查看
bp1979
Senior Contributor I

In all my recent posts on this forum I am struggling getting our second flash on our board working properly.

Currently the biggest not understood area is the flexspi clock. As we understand the documentation and the clarifications / confirmations we receive on this forum, we can use flash connected to port A1 and port B1 without DQS, if we follow these rules:

- do not configure DQS in system_MIMXRT1024.c (SystemInit function)

- overwrite FCB with sample clock source set to internally

- overwrite FCB with configured flash speed is 60 MHz

- set the FlexSPI clock to exactly 60 MHz or less

When I follow all these steps, it simple does not work.

I adapted the nor_polling SDK example and attached it to this project.

The clock source for the flexspi clock is set in the app.h as follows:

    CLOCK_InitSysPfd(kCLOCK_Pfd3, 24);    /* Set PLL3 clock 480MHZ. */
    CLOCK_SetMux(kCLOCK_FlexspiMux, 0x1); /* Choose PLL3 clock as flexspi source clock. */
    CLOCK_SetDiv(kCLOCK_FlexspiDiv, 8);   /* flexspi clock 60 MHz. */

As the comments explain, instead of Pdf2 I select Pdf3, and set it to 480 MHz. The set the divider to 8 which gives exactly 60 MHz according to the clock tool in MCUxpresso.

When I run this example, I get a hardfault directly after leaving the calls running in ITC memory. When I set the divider to e.g. 6 (which would give a flexspi clock running at 80 MHz), then everything works fine.

We need to understand why. What are we still doing wrong, or are we still misunderstanding something crucial? Why won't the SDK example work with a flexspi clock running at 60 MHz?

 

 

 

0 项奖励
回复
1 解答
646 次查看
bp1979
Senior Contributor I

Hi @kerryzhou 

This works fine when I enter a valid divider (7 instead of 8).

Thanks a lot for pointing that out!!!

在原帖中查看解决方案

4 回复数
657 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @bp1979 ,

  Thank you for your question.

  Do you test the on the NXP MIMXRT1024-EVK board to reproduce the issues or your own customer board?

 Please tell me your test board, thanks.

 

Best Regards,

kerry

0 项奖励
回复
649 次查看
bp1979
Senior Contributor I

Hi @kerryzhou ,

I think this is solved with the same solution you already mentioned, I should use the value "7" as divider, not "8".

I will test again and report back here.

In this case I reproduced the problem on the 1024 EVK, but the root cause is clear, I was using a nonsense value for clock divider.

0 项奖励
回复
647 次查看
bp1979
Senior Contributor I

Hi @kerryzhou 

This works fine when I enter a valid divider (7 instead of 8).

Thanks a lot for pointing that out!!!

641 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

 Hi @bp1979 ,

  You are always welcome!

  Any new issues in the future, welcome to create the new question post and let us know!

 

Best Regards,

Kerry

0 项奖励
回复