5135|10

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

做过LCD driver的请进 [复制链接]

在LCD driver里面,有个细节:RGB数据怎么送往LCD DMA内存空间的? 我不清楚
现在我想把RGB数值,均等于(R+G+B)/3
可不清楚在哪实现?

最新回复

直接计算好你的值就可以了,蛮不错的。  详情 回复 发表于 2009-9-29 11:45
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
RGB数据怎么送往LCD DMA内存空间的?

s2440LCD->rLCDSADDR1 = ((FRAMEBUF_DMA_BASE >> 22)     << 21) |
                                        ((M5D(FRAMEBUF_DMA_BASE >> 1)) <<  0);

        s2440LCD->rLCDSADDR2 = M5D((FRAMEBUF_DMA_BASE + (LCD_XSIZE_TFT * LCD_YSIZE_TFT * 4)) >> 1);

FRAMEBUF_DMA_BASE就是显存地址,往这里面写数据就会显示

---
你是想做黑白的,你应该继续这个话题 而不是转移到(R+G+B)/3  。。

研究一下display的驱动吧
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
在driver里面的话,就直接由上层来操作dma buffer了
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 trueman_onlyme 的回复:
RGB数据怎么送往LCD DMA内存空间的?

s2440LCD->rLCDSADDR1 = ((FRAMEBUF_DMA_BASE >> 22)? ? < < 21) |
((M5D(FRAMEBUF_DMA_BASE >> 1)) <
s2440LCD->rLCDSADDR2 = M5D((FRAMEBUF_DMA_BASE + (LCD_XSIZE_TFT * LCD_YSIZE_TFT * 4)) >> 1);

FRAMEBUF_DMA_BASE就是显存地址,往这里面写数据就会显示

---
你是想做黑白的,你应该继续这个话题 而不是转移到(R+G+B)/3? 。。

研究一下display的驱动吧

我是在继续黑白。我要RGB均等于(R+G+B)/3
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 2 楼 guopeixin 的回复:
在driver里面的话,就直接由上层来操作dma buffer了

上层操作??
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

6
 
wince 系统中是由驱动操作dma buffer的,不过楼主如果想设置都为(R+G+B)/3,可以在LCDC中加入相应的转换,应该可以的。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
LCDC?今天我一直在看 暂时还没发现
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
你们都偏离了问题的核心了.
既然你想显示颜色到显示器特定位置,那么你不知道这个物理结构,只看资料有什么用呢?
即使这次的问题解决了,以后遇到问题你要怎么解决呢?从头再来?

首先,了解一般嵌入式系统显示的构成.

CPU->graphics controlor->lcd

如果别人给你的硬件是可用的,后面一级不用理会.现在我们来看CPU->controlor这个通道.
控制器里面都有一个GRAM,里面不同地址的数据对应LCD不同像素点的颜色值.往要屏幕某像素显示某颜色,就是将颜色值写入对应的GRAM地址的过程.

一般,CPU都控制器的通讯采用并行总线的比较多.
并行总线和内存可以DMA,当然你也可以直接软件写入,不要DMA方式.但是如果有DMA的话,你要知道DMA的缓冲区地址才可以吧~
另外,如果你要传0x1234到pxl(0,0),需要写入的数据和你使用的控制器有关,不同的控制器使用方法不同,不过,过程基本一样:
写入指令(写数据指令)->写入地址(像素对应地址,可以换算成像素的xy坐标)->写入数据(颜色值)

表达能力问题,说的不清楚.
你找你用的那块控制器的资料来看看,保证你以后只教别人.

 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

9
 
谢谢gelu1040,可你有点误解我的意思了.我说的怎么往LCD DMA内存空间送显示数据,就是你上面提到的:CPU->controlor.今天我一直在看LCD display方面的.可还没发现.可在看s3c2416 datasheet的时候看到一个cfg register (名字现在忘记了).明天我处理下这个register试试
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
那你就看s3c2416 DMA模块说明啊,要设置发送数据的时候怎么设置怎么发应该都会 写吧,另外,官方肯定会提供一写示例或者库吧.没用过3星
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

11
 
直接计算好你的值就可以了,蛮不错的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表