[CPU-3.21] CPU 访问五个特定地址被中断后,后续 CPU 访问会被拖住
描述
当某个 CPU 使用 0x3FF40000 (UART0)、0x3FF50000 (UART1)、0x3FF6E000 (UART2)、0x3FF4F004 (I2S0)、0x3FF6D004 (I2S1) 这五个特定地址读取 FIFO 数据时,如果此时 CPU 发生中断,则读请求会被打断。 这会导致总线桥一直处于等待读请求结束的状态。接着任意 CPU 访问 APB 外设寄存器(0x3FF40000 ~ 0x3FF7FFFF 或 0x60000000 ~ 0x6003FFFF)请求就会被拒绝, 导致后续 CPU 访问被拖住。
写入这五个地址不会有问题。
变通方法
读这五个特定地址之前禁用 CPU 中断,访问完成后开启 CPU 中断。
解决方案
暂无 修复计划。