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
Solved! Go to Solution.
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
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