请教下论坛里的大佬们,有在实际项目中用过外置flash运行程序吗?最近在尝试外置flash运行程序,用了一块小小的开发板,板载100pin的H750VBT6和8MB的QSPI flash:W25Q64。程序主要配置如下:bootloader放在内置flash,其他所有程序包括中断服务函数都放在外置flash,开启ICache,仅使用AXI SRAM,QSPI时钟频率100M,同时开启8个串口,用dma1每隔250us循环发送固定数据给从机,用串口idle中断+dma2接收从机回复的数据,dma1+dma2的16个通道全部用满,发送是NORMAL模式,目前发现一些很奇怪的问题:1.使用内置flash运行上述程序时,没有任何异常,串口dma收发非常稳定;2.使用外置flash运行上述程序时,偶尔出现串口收发异常,如图一和图二,异常分为两种情况:①发送数据异常:逻辑分析仪显示要发送的数据错误,比如0x63变成了0xC3,或者直接framing error,无法解析出正常数据;②接收数据异常:逻辑分析仪显示要接收的数据正确,J-Link仿真界面显示要接收的数据错误,比如逻辑分析仪显示正常的0x06,而H750中的程序却解析成了0x86。