你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
tovax 发表于 2018-3-10 14:15
查看全部评分
hjj1984 发表于 2018-3-14 11:09 估计是SDRAM的ReadBurst配置不对导致的。我也碰到过该问题,显示屏是800*600分辨率的,只要对SDRAM进行操作 ...
tovax 发表于 2018-3-16 20:47 http://bbs.21ic.com/forum.php?mod=viewthread&tid=1236494 http://bbs.21ic.com/icview-916406-1-2.html ...
dsjsjf 发表于 2018-3-21 11:28 多个任务对同一个资源(SDRAM)的操作,需要用到互斥信号量
楼主看看这边,如何插入图片
https://www.stmcu.org.cn/module/forum/thread-612788-1-1.html
把ReadBurst配置为FMC_SDRAM_RBURST_ENABLE就解决了。(以下是我用的是ST32Cube生成的代码)
hsdram1.Init.SDBank = FMC_SDRAM_BANK2;
hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_9;
hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_13;
hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16;
hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3;
hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_3;
hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_ENABLE;
hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1;
别外,LTDC需要实时的从SDRAM读取显存数据发送到RGB接口,以800*600的16位色屏为例,每秒读取的数据量高达28MB,读取间隔远小于1us,所以用信号量互斥是不实现的。
评分
查看全部评分
谢谢您的回复!
我现在的配置也是这样的,read burst是使能的。
请教一下,我一直还没有使用DMA2D,会不会跟这个有关系?
DMA2D的意思是不是这样的:LTDC在初始化的时候设定了显存的地址(ltdc_buffer),DMA2D的源地址为另外一块与显存大小一样的存储区域(dma2d_buffer),DMA2D负责把dma2d_buffer中的数据传输到ltdc_buffer中,写数据的话是往dma2d_buffer中写的。请问我的理解对不?
您说的read burst问题我再排查一遍,网上也有跟您说的差不多的,说是把burst length由8改为4。都是集中在了read busrt相关的这部分,应该是很重要的一个配置。
(昨天把fmc相关的配置,从头到尾一个一个的确认了一下,目前还没发现什么问题,所以才回头考虑是不是DMA2D没有使能导致的,您说的问题点我会再去想想,再次感谢!)
http://bbs.21ic.com/icview-916406-1-2.html
这两个帖子是同样的问题,貌似也没有结果
点评
是的,我遇到的这个问题在网上找到很多类似的帖子,要么是FMC read burst的长度问题,要么是没有结果的僵尸贴。FMC的配置我排查好多遍了,read burst也修改测试过,还是不行。
感觉这个算是个很普通的案例:以SDRAM作为显存,往SDRAM里写入数据,LTDC自动读取后刷新LCD。现在是单独显示都没问题,一旦写入数据就会花屏,数据写完之后就显示正常了。
请问有没有类似的案例代码,给参考一下呗,谢谢大家!
谢谢您的回复!
问题找到了:FMC读写数据这两个函数的问题
显示格式是RGB888的,于是在SDRAM里像素是24位的,与32位的AHB接口之间存在一个转换过程,来来回回的读写造成了“AHB总线冲突”,现在改成ARGB8888格式了,alpha填充0xFF就好了,这样读写像素的速度就提高了若干倍,目前显示"hello, world"和"毫秒表"都是没有问题的,目前是这样的状况,测试过程中发现问题的话我再回来补充。
再次感谢各位这些天的耐心交流!
评分
查看全部评分