3154|2

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于FB,好奇怪的问题。。望高手解释。。。 [复制链接]

硬件平台,TQ2440开发板。
操作系统:LINUX2.6.30.4.
LCD:NEC NL8060BC31-17
屏幕设置为800*600 16bpp。看似一切正常。
跑MINIGUI的个应用程序。LCD就是不正常显示图形。后经多次检查。
发现一个很崩溃的问题:LCD的第2竖列不能写白数据,即不能置全1。应该是某些位不能写1。
把颜色改了,就完全没有问题。
使用framebuffer测试程序。也发现第2竖列的点写全1会使屏幕出现滚屏现象。且写了个点就滚几行。写其他颜色则没问题。

由于linux启动会有光标,我把/driver/video/console/soft_cursor.c 中的光标显示函数注释空了。但是这个光标功能并没有禁掉(没找到方法),不知道会不会是因为这个原因使得1竖列对应的内存不能随便操作。

希望高人能指点一下。。小弟忙了2天没找出解决的办法。。。。

最新回复

驱动源代码就是LINUX自身的。我只是设定了LCD的分辨率颜色位。我一开始也觉得是临界问题。可内存空间临界貌似是在最开始和结束的地址,竖列的地址是在内存空间不是连续的。为什么也会有问题呢。。 以下是设置LCD的代码 82 static struct s3c2410fb_display tq2440_lcd_cfg __initdata = { 83 84     .lcdcon5    = S3C2410_LCDCON5_FRM565 | 85               S3C2410_LCDCON5_INVVLINE | 86               S3C2410_LCDCON5_INVVFRAME | 87               S3C2410_LCDCON5_PWREN | 88               S3C2410_LCDCON5_HWSWP, 89 90     .type       = S3C2410_LCDCON1_TFT, 91 92 93     .width      = 800, 94     .height     = 600, 95 96     .pixclock       = 40000, /* HCLK 100 MHz, divisor 1 */ 97     .setclkval      = 0x1, 98     .xres       = 800, 99     .yres       = 600, 100     .bpp        = 16, 101     .left_margin    = 15,   /* for HFPD*/ 102     .right_margin   = 47,   /* for HBPD*/ 103     .hsync_len  = 95,   /* for HSPW*/ 104     .upper_margin   = 9,    /* for VFPD*/ 105     .lower_margin   = 5,    /* for VBPD*/ 106     .vsync_len  = 1,    /* for VSPW*/ 107 108 }; 109 110 static struct s3c2410fb_mach_info tq2440_fb_info __initdata = { 111     .displays   = &tq2440_lcd_cfg, 112     .num_displays   = 1, 113     .default_display = 0, 114 115 #if 0 116     /* currently setup by downloader */ 117     .gpccon     = 0xaa940659, 118     .gpccon_mask    = 0xffffffff, 119     .gpcup      = 0x0000ffff, 120     .gpcup_mask = 0xffffffff, 121     .gpdcon     = 0xaa84aaa0, 122     .gpdcon_mask    = 0xffffffff, 123     .gpdup      = 0x0000faff, 124     .gpdup_mask = 0xffffffff, 125 #endif 126 127 //  .lpcsel     = ((0xCE6) & ~7) | 1  详情 回复 发表于 2009-10-12 12:23
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
临界条件的问题吧,看看驱动的源代码如果你有的话。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
驱动源代码就是LINUX自身的。我只是设定了LCD的分辨率颜色位。我一开始也觉得是临界问题。可内存空间临界貌似是在最开始和结束的地址,竖列的地址是在内存空间不是连续的。为什么也会有问题呢。。
以下是设置LCD的代码
82 static struct s3c2410fb_display tq2440_lcd_cfg __initdata = {
83
84     .lcdcon5    = S3C2410_LCDCON5_FRM565 |
85               S3C2410_LCDCON5_INVVLINE |
86               S3C2410_LCDCON5_INVVFRAME |
87               S3C2410_LCDCON5_PWREN |
88               S3C2410_LCDCON5_HWSWP,
89
90     .type       = S3C2410_LCDCON1_TFT,
91
92
93     .width      = 800,
94     .height     = 600,
95
96     .pixclock       = 40000, /* HCLK 100 MHz, divisor 1 */
97     .setclkval      = 0x1,
98     .xres       = 800,
99     .yres       = 600,
100     .bpp        = 16,
101     .left_margin    = 15,   /* for HFPD*/
102     .right_margin   = 47,   /* for HBPD*/
103     .hsync_len  = 95,   /* for HSPW*/
104     .upper_margin   = 9,    /* for VFPD*/
105     .lower_margin   = 5,    /* for VBPD*/
106     .vsync_len  = 1,    /* for VSPW*/
107
108 };
109
110 static struct s3c2410fb_mach_info tq2440_fb_info __initdata = {
111     .displays   = &tq2440_lcd_cfg,
112     .num_displays   = 1,
113     .default_display = 0,
114
115 #if 0
116     /* currently setup by downloader */
117     .gpccon     = 0xaa940659,
118     .gpccon_mask    = 0xffffffff,
119     .gpcup      = 0x0000ffff,
120     .gpcup_mask = 0xffffffff,
121     .gpdcon     = 0xaa84aaa0,
122     .gpdcon_mask    = 0xffffffff,
123     .gpdup      = 0x0000faff,
124     .gpdup_mask = 0xffffffff,
125 #endif
126
127 //  .lpcsel     = ((0xCE6) & ~7) | 1<<4,
128 };
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
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
快速回复 返回顶部 返回列表