|
用stm32F67bg驱动7寸800*480屏幕,emwin;一开始总是第一次下载程序运行10秒作用qspi读取FLASH错误,重新初始化qshi也不行,必须重新上电才行;排查总是屏蔽一些无关的代码就会正常, 随着代码量的增加,问题越来越严重最终发现是HAL_QSPI_Receive()读取超时,改用模拟spi速度又太慢!最终查到原来是cache的问题 CACHE 如果不开,运行速度几乎下降一半,无法接受;CACHE打开, 有时软件运行正常,但仅仅增加或删除一些无关紧要的代码,立马出现异常:只要异常了,屏幕就会闪烁 追寻了好多帖子,查了cache机制,改了MPU的参数都无法解决问题!!! 最终将代码优化等级从0改到default或者最高级别3,完美解决 项目还没完全结束,不知后面会不会出幺蛾子!但cache的水还是比较深,mpu的配合机制还没完全搞懂 |
微信公众号
手机版