用LTDC驱动LCD外挂SDRAM做显存没有开DMA2D,目前的问题是如果LTDC使能后程序往SDRAM中写数据就会造成SDRAM部分数据写入出错,LCD刷屏时就能看见很多黑色梅花印,调试发现出现黑色梅花印的位置就是出错的数据位置!想到一定是由于LTDC硬件读取SDRAM和软件读取时造成的冲突就在每次写数据到SDRAM显存中前先关闭LTDC写完后再使能,结果这样数据出错问题真的解决了每次写完数据才使能LTDC显示正常SDRAM也没有数据出错,但是又出现另一个问题就是在LTDC关闭的期间LCD显示有些花屏!芯片是STM32F767IG,SDRAM速度108M,LCD时钟33.25M,请问这样的问题该如何解决?? |
评分
查看全部评分
评分
查看全部评分
启用了数据缓存,不过设置的是透写模式关闭缓存结果一样.
怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?
准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误.
谢谢