IMXRT117x ROM API wrong offset calculations on newest silicon revision

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

IMXRT117x ROM API wrong offset calculations on newest silicon revision

跳至解决方案
333 次查看
rdegliesposti
Contributor I

Hello,

I am writing this because we found a bug related to chip revision handling in the MCUX SDK.
We recently received the new revision of the RT1176 microcontroller. In our application we use the ROM API and we noticed that the new chip would hang while executing some of the ROM API functions, in particular `ROM_API_Init()` and `ROM_FLEXSPI_NorFlash_ClearCache()`. We believe that is because the check for the chip revision in the SDK is incorrect.
Specifically, the SDK performs a bitwise AND between the value of the `MISC_DIFPROG` register and `0x10`.
We found out that the register reports `0x1170C0` on the 'B' revision and `0x1170B0` on the 'A' revision, which results in two different branches being taken during execution. We believe this is incorrect and leads to a wrong offset calculation. 
In fact we tried to patch the check so that both revisions follow the same execution path, and we can confirm that it resolves the issue.
However, we're unsure what the correct logic for the check should be, and we'd appreciate clarification.
We confirmed that the bug is present in both version 2.15.0 and 2.16.0 of the SDK.

Best regards,
Riccardo

标记 (3)
0 项奖励
回复
1 解答
270 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

The i.MX RM1170 Reference Manual Rev. 4 is shared by i.MX RT1170A and i.MX RT1170B. Only one change is related to the migration:
In the "CHIPID" in the "MISC_DIFPROG" register, the reset value of bit [7:4] is changed from "1011" to "uuuu".
A note is added:
Note: For the i.MX RT1170A chip, bit [7:4] is "1011". For the i.MX RT1170B chip, bit [7:4] is "1100".

The SDK version to support i.MX RT1170B will be SDK 25.06, which will be launched at the end of June 2025. The code changes related to the migration in a previous SDK version include:
1. In "ROM_API_Init()", the previous code is not handling "CHIPID" correctly and leads to a wrong ROM API entry loaded.

Best regards,
Omar

在原帖中查看解决方案

0 项奖励
回复
1 回复
271 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

The i.MX RM1170 Reference Manual Rev. 4 is shared by i.MX RT1170A and i.MX RT1170B. Only one change is related to the migration:
In the "CHIPID" in the "MISC_DIFPROG" register, the reset value of bit [7:4] is changed from "1011" to "uuuu".
A note is added:
Note: For the i.MX RT1170A chip, bit [7:4] is "1011". For the i.MX RT1170B chip, bit [7:4] is "1100".

The SDK version to support i.MX RT1170B will be SDK 25.06, which will be launched at the end of June 2025. The code changes related to the migration in a previous SDK version include:
1. In "ROM_API_Init()", the previous code is not handling "CHIPID" correctly and leads to a wrong ROM API entry loaded.

Best regards,
Omar

0 项奖励
回复