迁移重点:
- 检查GPIO配置:利用新时序建议优化设计。
- 更新SDK至25.06+:确保芯片版本识别和ROM API兼容。
- 验证SEMC设计:若使用CSX1/2/3,需按ERR052401调整时序。
- 工具链升级:J-Link v8.38+和MCUXpresso脚本更新。
0. 本文目的
- 若您并未遇到RT1170 FSGPIO漂移老化问题,请忽略本文档。
- 若您遇到RT1170A的ERR052351(输出电压>1.98V时参数漂移)和ERR050643(上电瞬间误触发上拉脉冲)问题,并想通过迁移到新硅片RT1170B,请查看本文完成迁移。
1. 硅片变更 (Silicon Changes)
- GPIO修复:
- 解决了RT1170A的ERR052351(输出电压>1.98V时参数漂移)和ERR050643(上电瞬间误触发上拉脉冲)问题。
- 影响范围:GPIO_AD/GPIO_LPSR/GPIO_DISP_B2 bank。
- ROM更新:
- 清理ROM补丁(不影响开放API)。
- HAB API向量表地址:从
0x0021_1C0C(A版)改为0x0021_1C14(B版)。
ROM_FLEXSPI_NorFlash_ClearCache()入口地址变更(详见第6节)。
- 芯片ID变更:
MISC_DIFPROG寄存器的CHIPID复位值变化:
- A版:
0x001170A0
- B版:
0x001170B0(需通过bit[7:4]区分:A版=1011,B版=1100)。
2. 数据手册变更 (Data Sheet Changes)
- 型号命名:所有型号后缀从
A改为B(例:MIMXRT117xxxxxB)。
- GPIO电气规范:
- 表37:GPIO_AD/LPSR/DISP_B2的驱动电流调整(如DSE=1时IOH从-10mA→-9mA)。
- 表40:
- 新增
Vpead参数。
- 上升/下降时间调整(如DSE=0/SRE=1时从6ns→7.5ns)。
- 关键建议:
- 3.3V模式:≥25MHz用连续范围模式(Continuous Range),<25MHz用高范围模式(High Range)。
- 1.8V模式:推荐低范围模式(Low Range)。
- 其他更新:
- 存储温度范围:-40℃ → -55℃。
- SDR50/SDR104时序:输入建立时间从2.5ns→2.0ns。
- FlexSPI时序:TDVO最大值从4→1,TDHO最小值从2→0。
3. 参考手册变更 (Reference Manual Changes)
- 芯片ID识别:
MISC_DIFPROG[7:4]复位值从固定值改为芯片版本标识(A版=1011,B版=1100)。
4. 勘误变更 (Errata Changes)
- 修复问题:
- 移除ERR052351(GPIO参数漂移)和ERR050643(上电脉冲问题)。
- 新增问题:
- ERR052401:SEMC_CSX1/2/3信号时序退化(SYNC模式最大延迟增加2.4ns)。
- 规避方案:
- SYNC模式:优先使用SEMC_CSX0或SEMC_RDY作为片选。
- Async模式:调整SEMC配置寄存器(SRAMCR1/NORCR1的CES位)。
5. SDK代码变更 (SDK Code Changes)
- SDK 25.06(2025年6月底发布)支持B版。
- 关键代码调整:
/*!
* @brief ROM API init.
*/
void ROM_API_Init(void)
{
if (ANADIG_MISC->MISC_DIFPROG == 0x001170a0U) // A版
{
g_bootloaderTree = ((bootloader_api_entry_t *)*(uint32_t *)0x0020001cU);
}
else // B版
{
g_bootloaderTree = ((bootloader_api_entry_t *)*(uint32_t *)0x0021001cU);
}
}
FlexSPI缓存清除函数入口地址变更:ROM_FLEXSPI_NorFlash_ClearCache
/*! @brief Software reset for the FLEXSPI logic. */
void ROM_FLEXSPI_NorFlash_ClearCache(uint32_t instance)
{
uint32_t clearCacheFunctionAddress;
if (ANADIG_MISC->MISC_DIFPROG == 0x001170a0U)
{
clearCacheFunctionAddress = 0x0020426bU;
}
else if (ANADIG_MISC->MISC_DIFPROG == 0x001170b0U)
{
clearCacheFunctionAddress = 0x0021a3b7U;
}
else
{
clearCacheFunctionAddress = 0x0021a3bfU;
}
HAB API vector table addresses变更:从0x0021_1C0C(i.MX RT1170A) to 0x0021_1C14(i.MX RT1170B). SDK无影响,SBL github已经解决。
6. 工具变更 (Tool Changes)
- J-Link:需升级至v8.38或更高版本。
- MCUXpresso:v24.12及更早版本需更新
RT1170_reset.scp脚本中的芯片ID检测逻辑。
7. 通用数据手册更新 (Appendix A)
- 电压范围:
- NVCC_GPIO重命名为NVCC_AD(后续版本将恢复原名)。
- NVCC_AD/DISP2/LPSR最大值从1.95V→1.98V。
- GPIO模式定义:
- 统一命名:连续范围模式(原Normal/Derated)、低范围模式(原Low)、高范围模式(原High)。
- 时序优化:
- LPSPI主模式频率上限从30MHz→60MHz,建立时间从10ns→3ns。
- 新增警告:
- GPIO_AD/LPSR/DISP_B2的NVCC不可悬空,否则可能漏电500μA/每Bank。
8. 其他信息
- 文档版权:示例代码遵循BSD-3-Clause许可证。
- 参考文档: