有大侠在讨论,主题“qpe运行10分钟后界面自动熄灭?”
不过这里没给出相信信息。
通过增加堆栈跟踪信息(添加dump_stack调用),发现白屏的时候,内核的调用情况如下:
调用关系
do_exit -> kthread -> worker_thread -> console_callback -> do_blank_screen -> fbcon_blank -> fb_blank ->
davincifb_blank -> davinci_disp_disable_layer -> _davinci_disp_disable_layer -> dump_stack (跟踪点)
也就是说console模块(callback)调用了
fbcon.c 中的 fbcon_blank
看到达芬奇论坛上有人回复如何解决问题的:
1. setterm -blank 0 > /dev/vc/0
如出错(在嵌入式设备上出错概率太大了,本人不推荐,未尝试-_- ~!):
首先检查/dev/vc/0 是否存在,或者试试'setterm -initialize'
运行env命令测试 TERM 变量是否设置 为 linux
或者使用echo -n -e "//033[9;0]" >/dev/vc/0
2. 配置内核去掉framebuffer console
最好不要使用此方法,否则内核启动时,logo无法显示
3. 最好的办法是(linux-2.6.32.17)
修改drivers/char/vt.c
static int blankinterval = 10*60;
为static int Blankinterval = 0;