[CPU-3.21] CPU 访问五个特定地址被中断后,后续 CPU 访问会被拖住

影响版本: v0.0 v1.0 v1.1 v3.0 v3.1

描述

当某个 CPU 使用 0x3FF40000 (UART0)、0x3FF50000 (UART1)、0x3FF6E000 (UART2)、0x3FF4F004 (I2S0)、0x3FF6D004 (I2S1) 这五个特定地址读取 FIFO 数据时,如果此时 CPU 发生中断,则读请求会被打断。 这会导致总线桥一直处于等待读请求结束的状态。接着任意 CPU 访问 APB 外设寄存器(0x3FF40000 ~ 0x3FF7FFFF 或 0x60000000 ~ 0x6003FFFF)请求就会被拒绝, 导致后续 CPU 访问被拖住。

写入这五个地址不会有问题。

变通方法

读这五个特定地址之前禁用 CPU 中断,访问完成后开启 CPU 中断。

解决方案

暂无 修复计划。