• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : LCD开机显示logo大约10多分钟后不显示任何东西 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 5168
精华: 0
发帖: 81
金钱: 555 两
威望: 321 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2009-04-12
最后登录: 2014-10-29
楼主  发表于: 2009-08-06 22:36

 LCD开机显示logo大约10多分钟后不显示任何东西

大家好,我在自己移植好的内核和根文件系统的基础上,参考网友的资料配置了mini2440的3.5寸LCD的驱动,开机能够显示logo,在dev目录下有了fb0设备,用LCD测试程序能够使开机后显示一些写入的数据,但是在开机后的大约10分钟后液晶好像不受控制了似的,在运行显示程序的时候液晶没什么反应,请问这是怎么回事?
非学无以广才,非志无以成学。--诸葛亮《诫子书》
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
贡献值: 21 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
1楼  发表于: 2009-08-06 23:10
PC Linux有setterm, 你自己搞的系统可不见得有。
one more time~ one more chance~
级别: 侠客
UID: 7776
精华: 1
发帖: 73
金钱: 675 两
威望: 503 点
贡献值: 10 点
综合积分: 166 分
注册时间: 2009-07-28
最后登录: 2020-06-08
2楼  发表于: 2009-08-06 23:48
你可以试一下持续点击触摸屏或者放一个超过10分钟的视频~

看看LCD会不会黑屏~

我想这个是休眠引起的~

以前用的板子也有这个功能~

我的笔记是

关于屏保取消方法
driverscharvt.c里注释掉
static void blank_screen_t(unsigned long dummy)函数就可以
或者注释driver video s3c2410fb.c里的 s3c2410fb_stop_lcd


不知道对LZ适用么~
级别: 侠客
UID: 5168
精华: 0
发帖: 81
金钱: 555 两
威望: 321 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2009-04-12
最后登录: 2014-10-29
3楼  发表于: 2009-08-06 23:57
那该如何办呢?友善的内核里也没有setter命令,mini2440是怎么做到LCD一直显示的呢?
非学无以广才,非志无以成学。--诸葛亮《诫子书》
级别: 侠客
UID: 5168
精华: 0
发帖: 81
金钱: 555 两
威望: 321 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2009-04-12
最后登录: 2014-10-29
4楼  发表于: 2009-08-07 00:46
感谢“superfight ”,我在drivers/char/vt.c中将blank_screen_t( )函数内容注释掉,重新编译内核后,系统开机后LCD没有出现屏幕不受控制的情况了。另外,我看了友善的linux-2.6.29内核代码中的vt.c中并没有把blank_screen_t( )函数内容注释掉,不知友善是如何处理这个问题的?
非学无以广才,非志无以成学。--诸葛亮《诫子书》
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
贡献值: 21 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
5楼  发表于: 2009-08-07 07:42
这属于内核向上层提供的标准功能,尽量少修改内核原有的功能,以方便上层程序兼容/移植。
级别: 侠客
UID: 5168
精华: 0
发帖: 81
金钱: 555 两
威望: 321 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2009-04-12
最后登录: 2014-10-29
6楼  发表于: 2009-08-07 11:37
请问该如何不修改内核,而使LCD进入屏保又能恢复呢?PC机上的linux系统有setterm命令,我移植的内核没有这个命令,是要自己制作setterm的执行文件(串口传送文件命令lrz、lsz就是配置一个工具包,制作可执行文件,放到bin目录下)吗还是有其它的方法?
非学无以广才,非志无以成学。--诸葛亮《诫子书》
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
贡献值: 21 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
7楼  发表于: 2009-08-07 12:38

 回 6楼(mark) 的帖子

google "setterm"
级别: 新手上路
UID: 7019
精华: 0
发帖: 1
金钱: 10 两
威望: 5 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2009-06-28
最后登录: 2009-11-23
8楼  发表于: 2009-08-22 21:05
可以在应用程序中实现,不要去改动内核驱动,编一小程序,
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
void keep_LCD_screen(void)
{
int fd;
fd = open("/dev/tty0", O_RDWR);
write(fd, "\033[9;0]", 8);
close(fd);
}
main(void)
{
keep_LCD_screen();
}
将这一应用程序编译生成可执行文件,假如命名为"LCD_screen",
将"LCD_screen"下载到开发板的/bin目录,
然后在根文件目录/etc/init.d 中的rcS启动配置文件中加入以下命令
./bin/LCD_screen
重新启动内核,LCD就不会自动关闭了,等你想关闭时再在应用
程序中实现,屏蔽掉blank_screen_t( )函数肯定不是明智的做法,
一旦你屏蔽掉blank_screen_t( )后,有时某些应用要关闭显示,
这时你就要就无法实现了,有只能改内核了。

级别: 侠客
UID: 5168
精华: 0
发帖: 81
金钱: 555 两
威望: 321 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2009-04-12
最后登录: 2014-10-29
9楼  发表于: 2009-09-11 08:38
非常感谢!
非学无以广才,非志无以成学。--诸葛亮《诫子书》
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go