![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
用stm32F67bg驱动7寸800*480屏幕,emwin;一开始总是第一次下载程序运行10秒作用qspi读取FLASH错误,重新初始化qshi也不行,必须重新上电才行;排查总是屏蔽一些无关的代码就会正常, 随着代码量的增加,问题越来越严重最终发现是HAL_QSPI_Receive()读取超时,改用模拟spi速度又太慢!最终查到原来是cache的问题 CACHE 如果不开,运行速度几乎下降一半,无法接受;CACHE打开, 有时软件运行正常,但仅仅增加或删除一些无关紧要的代码,立马出现异常:只要异常了,屏幕就会闪烁3 C1 ?6 l, o* N: [9 c2 z' h! ^ 追寻了好多帖子,查了cache机制,改了MPU的参数都无法解决问题!!! 最终将代码优化等级从0改到default或者最高级别3,完美解决 项目还没完全结束,不知后面会不会出幺蛾子!但cache的水还是比较深,mpu的配合机制还没完全搞懂 4 m5 b3 y' @/ X2 j% z5 b- d, L- @ u# g |