STM32F4在擦除Flash扇区时,Flash接口被占用,CPU从Flash取指会停顿,若中断向量和中断服务程序也在Flash中,中断响应被延迟,DMA传输完成中断得不到及时处理,导致DMA缓冲溢出丢数据。规避思路:1) 将DMA完成中断服务程序及向量表重映射到SRAM执行,擦除前把关键ISR拷贝到SRAM,并设置SCB->VTOR指向SRAM向量表;2) 擦除期间关闭全局中断不可取,应改为让DMA以双缓冲/循环模式运行,配合较大缓冲区,把中断处理延迟容忍度提高到擦除时间以上;3) 用DMA硬件流控或定时器触发,避免依赖CPU及时响应;4) 若数据量大,改用双Bank Flash或外部存储,擦除时从另一Bank取指;5) 擦除操作放在低优先级任务,擦除前暂停非关键DMA,仅保留关键通道并加大缓冲。实测需用示波器测中断延迟,确保缓冲深度大于擦除时间×数据率。