LTDC驱动LCD时有很多 {MOD}梅花印

2019-07-14 15:42发布

    用LTDC驱动LCD外挂SDRAM做显存没有开DMA2D,目前的问题是如果LTDC使能后程序往SDRAM中写数据就会造成SDRAM部分数据写入出错,LCD刷屏时就能看见很多黑 {MOD}梅花印,调试发现出现黑 {MOD}梅花印的位置就是出错的数据位置!想到一定是由于LTDC硬件读取SDRAM和软件读取时造成的冲突就在每次写数据到SDRAM显存中前先关闭LTDC写完后再使能,结果这样数据出错问题真的解决了每次写完数据才使能LTDC显示正常SDRAM也没有数据出错,但是又出现另一个问题就是在LTDC关闭的期间LCD显示有些花屏!芯片STM32F767IG,SDRAM速度108M,LCD时钟33.25M,请问这样的问题该如何解决??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
60user58
1楼-- · 2019-07-14 21:17
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启用Cache后,多个总线Master会有数据一致性问题。
leoleesir
2楼-- · 2019-07-14 22:38
60user58 发表于 2018-11-27 20:51
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启用Cache后,多个总线Master会有数据一致性问题。

启用了数据缓存,不过设置的是透写模式关闭缓存结果一样.
60user58
3楼-- · 2019-07-15 01:06
leoleesir 发表于 2018-11-27 20:34
已经解决了,的确是二者冲突所致!

怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?
leoleesir
4楼-- · 2019-07-15 02:34
 精彩回答 2  元偷偷看……
60user58
5楼-- · 2019-07-15 08:19
leoleesir 发表于 2018-11-27 21:28
准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误.

谢谢
lee_st
6楼-- · 2019-07-15 11:12
看看

一周热门 更多>