适用性
本文件适用于STM32N6xxxx系列设备及其变体的部件编号,如本页面所述。
它提供了设备勘误表的摘要和描述,与设备数据手册和参考手册RM0486相关。
实际设备行为与预期设备行为的偏差被视为设备限制。参考手册或数据手册中的描述与预期设备行为的偏差被视为文档勘误。术语“勘误”既适用于限制也适用于文档勘误。
解决方案的适用性可能取决于目标应用的具体条件。采用解决方案可能会对目标应用造成限制。如果解决方案只是减少了限制的发生率和/或后果,或者只对设备上的一小部分实例或在特定的操作模式下对功能完全有效,则认为该解决方案是部分的。
当FMC以连续时钟模式(CCLKEN在FMC_BCRx寄存器中设置)运行时,通过改变FMC_CFGR中CLKDIV[3:0]的值来应用新的时钟分频因子,此时FMC被禁用(在FMC_BCRx中清除FMCEN),存在一个FMC_CLK时钟周期,在这个周期内FMC_CLK的周期并不如预期:例如,时钟低脉冲持续时间与之前的CLKDIV[3:0]值相匹配,而时钟高脉冲持续时间则与新的CLKDIV[3:0]值相匹配。
解决方法
使用以下步骤:
1. 停止所有设备的内存流量。
2. 禁用FMC(参见产品参考手册中描述的禁用序列)。
3. 在FMC_BCRx寄存器中将CCLKEN从1改为0以停止时钟生成。
4. 在FMC_CFGR寄存器中编程所需的CLKDIV[3:0]值。
5. 将CCLKEN从0改回1。
6. 启用FMC。
死锁可以在某些条件下发生
描述
当满足以下所有条件时,可能发生死锁:
• 产品通过I/O管理器以多路复用模式与单个外部内存或具有两个内存的外部组合设备通信,直接或通过高速接口。
• 外部内存(们)以间接模式或内存映射模式访问。
当同时发生以下两个条件时,可能发生死锁:
• 当前拥有外部总线的扩展SPI接口(例如XSPI1)等待与外部内存进行传输,以完成其在内部互连矩阵总线上的传输。
• 内部互连矩阵总线上的数据传输请求到达另一个扩展SPI接口(例如XSPI2)。
这导致所有权冲突,其中:
• XSPI2无法获得当前由XSPI1使用的外部总线的所有权。
• XSPI1无法获得当前由XSPI2使用的内部互连矩阵总线的所有权。
解决方法
采取以下措施之一:
• 如果设置了生成自动传输分割的任何功能(MAXTRAN、REFRESH、CSBOUND、TIMEOUT),XSPI1将在某个时刻分割其传输,释放总线。然后XSPI2可以处理其数据,当XSPI1再次获得所有权时,它可以通过其嵌入式功能从上次访问的地址
之后的地址开始恢复传输。在这种情况下,死锁得到解决。
解决方法的限制:
仅在写入方向上,自动恢复传输的功能与某些闪存不兼容。这些内存需要在恢复写入传输之前额外发送一个“写入使能”命令。这个“写入使能”命令不是由XSPI生成的。
• 应用程序必须确保在启动每个传输之前,XSPI内部FIFO中有足够的空间。内部互连矩阵总线的活动不再依赖于外部总线侧发生的情况,避免了死锁条件。