1:首先LTDC配置好启动后LTDC就会从用户指定的GRAM缓冲区中读取数据实时刷新LCD,这种刷新是LTDC硬件完成的不占用CPU时间,那么问题来了这个DMA2D所谓的加速器是提高LTDC从GRAM中取数据送到LCD的速度还是只能将另外一片缓冲区数据快速填充到LTDC用户所指定的GRAM里?LCD的数据其实还是由LTDC负责刷新? 2:另一个加速说法就是DMA2D可以从寄存器用户指定的单色快速填充到LTDC用户所指定的GRAM里,同样也可以从另一片缓冲区快速填充到LTDC用户所指的GRAM同时执行数据格式转换? 3:以上就是我的疑问也就是DMA2D所谓的2D加速器?如果是这样的话普通应用根本无需加速器因为LTDC其实就有一个硬件自动处理数据的传送任务!还是说DMA2D其实是可以从LTDC用户所指的GRAM里直接将数据DMA到LTDC的FIFO显存里? |
正解。
将数据DMA到LTDC的FIFO是LTDC的DMA干的事情,和DMA2D无关。
将GRAM数据送到LCD是LTDC的事,DMA2D帮你绘制2D图形到GRAM,例如填充矩形,你可以用软件循环来填充矩形内的每个像素点,也可以告诉DMA2D你要绘制矩形的坐标大小和颜色,让DMA2D帮你绘图,从另外的缓存拷贝数据到GRAM也是DMA2D的工作之一。DMA2D还可以帮你混色,就是两张图片相叠并做半透明处理等。我认为它就是简化版的显卡!
评分
查看全部评分
嗯,谢谢你的回答,那么我的理解基本是正确的.