i.MX RT1176 run with 800MHz crash

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

i.MX RT1176 run with 800MHz crash

跳至解决方案
907 次查看
SpeedyGonzalesss
Contributor III

Hello,

I am using i.MX RT1176 and MCUXpresso IDE. By default, there are two option for core clock : 

Option 1: M7 1 GHz

Option 2: M7 800 Mhz

SpeedyGonzalesss_0-1711347498289.png

SpeedyGonzalesss_1-1711347522959.png

SpeedyGonzalesss_2-1711347542829.png

By default, the option 1(1 GHz / BootClock_Run) is selected and there is no problem and mcu run. If I want to run the processor at 800 mhz and call the BootClockRUN_800M function for clock init, the processor crashes.

There is a title on the subject: https://community.nxp.com/t5/i-MX-Processors/MIMXRT1170-EVK-run-with-800MHz-crash/td-p/1716130

But this does not seem to be a safe method. What exactly is the source of the problem? What should I do for a solution?

Thanks,

Speedy

0 项奖励
回复
1 解答
859 次查看
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @SpeedyGonzalesss,

The issue is caused by the internal ARM PLL which is unable to generate a high enough clock signal on some batches of the RT1170. As described on the post you refer to, the BOARD_BootClockRUN_800M sets the ARM PLL to 2.4GHz, and then sets its divider to 3, and this way it achieves an 800MHz signal. However, this 2.4GHz is basically the absolute maximum operating frequency for this PLL, as the datasheet rates its maximum clock output range as 2496 MHz:

EdwinHz_0-1711493790418.png

The workaround is completely safe. So much so, that SDK Version 2.15.000 already implements this workaround to ensure an 800MHz system frequency without possible crashes. Here is a comparison of the "armPllConfig_BOARD_BootClockRUN_800M" configuration structure on the hello_world demo code of the last three SDKs:

MIMXRT1170-EVK version 2.13.1:
EdwinHz_0-1711497380300.png

 

MIMXRT1170-EVK version 2.14.0:
EdwinHz_1-1711497380302.png

 

MIMXRT1170-EVK version 2.15.0:
EdwinHz_2-1711497380303.png

 

The MIMXRT1170-EVKB version 2.15.0 also contains this workaround:
EdwinHz_3-1711497501340.png

 

I presume you are not using the latest version of the SDK, so please update and let me know if you have any further issues about this topic!

BR,
Edwin.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
860 次查看
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @SpeedyGonzalesss,

The issue is caused by the internal ARM PLL which is unable to generate a high enough clock signal on some batches of the RT1170. As described on the post you refer to, the BOARD_BootClockRUN_800M sets the ARM PLL to 2.4GHz, and then sets its divider to 3, and this way it achieves an 800MHz signal. However, this 2.4GHz is basically the absolute maximum operating frequency for this PLL, as the datasheet rates its maximum clock output range as 2496 MHz:

EdwinHz_0-1711493790418.png

The workaround is completely safe. So much so, that SDK Version 2.15.000 already implements this workaround to ensure an 800MHz system frequency without possible crashes. Here is a comparison of the "armPllConfig_BOARD_BootClockRUN_800M" configuration structure on the hello_world demo code of the last three SDKs:

MIMXRT1170-EVK version 2.13.1:
EdwinHz_0-1711497380300.png

 

MIMXRT1170-EVK version 2.14.0:
EdwinHz_1-1711497380302.png

 

MIMXRT1170-EVK version 2.15.0:
EdwinHz_2-1711497380303.png

 

The MIMXRT1170-EVKB version 2.15.0 also contains this workaround:
EdwinHz_3-1711497501340.png

 

I presume you are not using the latest version of the SDK, so please update and let me know if you have any further issues about this topic!

BR,
Edwin.

0 项奖励
回复
843 次查看
SpeedyGonzalesss
Contributor III
Thank you for your support!
I tried with new version(SDK 15.0.0) and it worked.
0 项奖励
回复