• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
主题 : 24位rgb888mini6410LCD驱动 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
楼主  发表于: 2011-07-21 11:21

 24位rgb888mini6410LCD驱动

最近在学习LCD驱动,看到无论分辨率是480*272、800*600、1024*768,Linux内核下的LCD的数据输出格式全是rgb565(16位),我尝试修改成rgb888(24位)后,无论是linux系统还是andriod系统,启动和显示画面均不正常,不知道友善有没有做过rgb888格式的LCD驱动,同时希望友善可以帮忙解决这个问题,万分感谢!
[ 此帖被shichengjin在2011-07-21 11:33重新编辑 ]
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
1楼  发表于: 2011-07-21 11:32
不知道是不是LCD驱动程序里面s3cfb_fimd4x.c里面#elif defined (CONFIG_FB_S3C_EXT_BPP_24)下面的寄存器配置有问题,有人遇到过类似的问题吗,在线等!
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
2楼  发表于: 2011-07-21 13:25
知道的冒个泡阿!
级别: 新手上路
UID: 40741
精华: 0
发帖: 49
金钱: 250 两
威望: 50 点
综合积分: 98 分
注册时间: 2011-03-22
最后登录: 2015-03-13
3楼  发表于: 2011-07-22 20:52
顶起!
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
4楼  发表于: 2011-07-24 13:46
沉了,友善的服务就是这样的吗?
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
5楼  发表于: 2011-07-24 15:19
果然是沉了。
级别: 侠客
UID: 16811
精华: 0
发帖: 112
金钱: 560 两
威望: 112 点
综合积分: 224 分
注册时间: 2010-03-22
最后登录: 2018-06-27
6楼  发表于: 2011-07-25 15:37
跟硬件有关,你用的什么液晶屏
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
7楼  发表于: 2011-07-25 18:08
建议先仔细研究一下s3c6410的datasheet的LCD部分
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
8楼  发表于: 2011-07-25 18:37

 回 7楼(911gt3) 的帖子

恩,datasheet正在研究中。
但是
1.为什么友善给的源码中所有的LCD驱动数据格式都是16位的,无论什么分辨率?
2.使用24位数据格式生成的内核烧录到开发板中确实存在问题,andriond系统下开机画面不正常,linux-qt下直接卡在开机画面那里了,难道友善没有做过相关的测试吗?
3.市面上的LCD有很多是24位数据格式的,我觉得友善应该去做这方面的工作,虽然我自己也在学习中。

按道理,S3C6410 LCD的驱动应该是三星官方提供的,决定看看三星的源码。
[ 此帖被shichengjin在2011-07-25 18:49重新编辑 ]
级别: 新手上路
UID: 46242
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-05-11
最后登录: 2011-08-23
9楼  发表于: 2011-07-25 18:49

 回 6楼(gzyjw) 的帖子

我个人觉得是与硬件无关,因为如果你有看过友善提供的开发板原理图你会看到LCD输出的数据接口是24位的,如果LCD屏的接口是16位的话,只是在LCD驱动板上做了如下的接口对应:
S3C6410                         N43LCD屏
R(7:3)               ->         R(4:0)
G(7:2)        ->        G(5:0)
B(7:3)        ->        B(4:0)
如果我在内核中配置为24位输出,毫无疑问,S3C6410的LCD控制器会输出24位输出格式的数据,而LCD屏无论是24位格式还是16位格式,存在的差异只是颜色上,16位数据格式是65536色,而24位数据格式是1600万色。

但是目前我的测试情况是LCD驱动的数据格式由16位改为24位,无论Android还是linux-qt,开机画面均不正常。
正常情况:
  屏幕左上角显示一只企鹅,其他地方黑屏
不正常情况:
  屏幕左上角显示一只缩小的企鹅,屏幕右侧大概1/4屏幕的白屏,其他地方黑屏。

这种情况确实很诡异,作为初学者的我,感到很无助,只好到这里来求助大家,希望大侠帮帮忙。
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go