注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
lzwml的个人空间 https://home.eeworld.com.cn/space-uid-148817.html [收藏] [复制] [分享] [RSS]
日志

S3C2440在RAM里分配内存,提高LCD刷新速度

已有 865 次阅读2015-8-13 15:43 |个人分类:ARM摸索

测试平台:
S3C2440
TFT LCD  480x272 24bpp
垂直同步大约60Hz

源于以前用CPU直接操作显存,时间太慢,以打点的方式绘制256x100的渐变色矩形大约需要1.5s
后来改用双显存+DMA技术,屏幕刷新速度提高到
测试方法:
SDRAM申请2块 480x272x4 的内存做显存,一块用于LCD实际显存,另一块(后台显存)用于与CPU交互,当CPU操作完后,DMA将后台显存拷贝到实际显存中,拷贝是瞬间的事情,每秒能完成39.1次刷新

测试方法:
1. DMA操作将后台缓存清除成白色(1 Frame)
2. DMA操作将后台缓存画一套红线(1 Link)
3. DMA操作将后台缓存拷贝到显存(1 Frame)
4. 循环上面过程272次,每次将红线下调一行
完成上面的测试大约13.9s。

现在13.9S是我本次测试的极限,有没有大神有更好的优化方式。我这里有个建议,也是我发帖需要求助的“将两块显存放置在S3C2440的前4K RAM里,应该还能提高LCD刷屏速度”
问题是我不知道怎么用C语言定位这块地方的内存

#define rbuffer    ((volatile unsigned *)0x00001000)
volatile unsigned long (*pbuf)[480][272] = rbuffer
再将LCD的显存地址指向rbuffer,但是实际操作没能成功,求助!!!!!!!!!!!!!

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章