您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]用BF531+TFT,双显存的疑问
本帖共有505个阅读者
发表帖子 发表投票 回复主题
[求助]用BF531+TFT,双显存的疑问
blackfin(论坛游民)
blackfin
头衔:社区公民
帮派:无帮无派
帖数:114
金钱:1105
积分:153
注册时间:2011/6/10
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]用BF531+TFT,双显存的疑问
用BF531+TFT,在程序里做了两个显存buf1和buf2;
那在操作时:
1.固定在后台写buf2,完成后才把buf2的内容用MDMA移到buf1做显示(buf1固定为PPI的显示地址*pDMA0_START_ADDR = buf1)
2.采用PingPong方式,每次在后台更新非处于显示的显存(假设当前显示的是buf1,那么更新buf2),更新完后再修改*pDMA0_START_ADDR的

值指到buf2;下次更新buf1,更新完后修改*pDMA0_START_ADDR的值指到buf1;再下次........
请问这两种方式,那种合理?一般用那种呢?有没有什么区别?
感觉第1种用MDMA搬移数据花消比第2种要多些。

这家伙很懒,什么也没有留下!
等级:论坛游民 参考IP地址:*.*.*.*
2012/12/5 19:27:54
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

通常采用方式2,方式1可能显示会有问题,因为TFT液晶屏始终都在耍数据,这时要占用SDRAM的访问通道,而此时将Buffer2的数据通过MDMA搬到buffer1,那么会出现通道堵塞情况,这时处理器会交错处理这两个数据,你在液晶屏上可能会看到图像有轻微从上往下刷新的情况,尤其是刷动态图像时效果会明显。

第二种方法只修改DMA起始地址,不会出现屏幕闪动刷新。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/12/6 19:03:13
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159228 Call, 1 Queries, Processed in 0.015625 second(s),