|
发表于 2014-3-7 13:42:00
|
显示全部楼层
本帖最后由 jujiaqi 于 2014-3-7 14:55 编辑
碰到同样问题,红字内容,已经修改了,系统启动后,VGA有时有输出,有时没有输出,好像是随机的
另外已经做了如下尝试:
1、system/core/init/init_display.c
注释掉了 init_initdisplay 函数中的内容
2、DIsplayManage 类 注释掉了 switchOutput 函数切换输出的部分
现在还是不行。通过打印相关寄存器,发现开机后显示模式为 1280x720@60 Hz,好像是YPbPr模式,不是预先配置的1024X768 VGA 模式。现在就差改内核了,还有没有别的方法呢?
已解决:
问题就在第一条,init重新初始化了显示。之前改这里无效,是因为init在RAMDISK中,我是用 adb push 上传文件进行测试的,其实重启后使用的还是原来的init。这个地方可以根据自己需要修改- int init_initdisplay()
- {
- int hdmistatus;
- int tvstatus;
- int sec = 1;
- sleep(sec);
- hdmistatus = init_dispgethdmistatus();
- if(hdmistatus)
- {
- int mode = init_dispgethdmimaxmode();
- init_swtichdisplay(0,DISP_OUTPUT_TYPE_HDMI,mode);
- }
- else
- {
- tvstatus = init_dispgettvdacstatus();
- if(tvstatus == DISP_TV_CVBS)
- {
- init_swtichdisplay(0,DISP_OUTPUT_TYPE_TV,DISP_TV_MOD_NTSC);
- }
- else if(tvstatus == DISP_TV_YPBPR)
- {
- init_swtichdisplay(0,DISP_OUTPUT_TYPE_TV,DISP_TV_MOD_720P_60HZ);
- }
- }
- if(mFD_disp)
- {
- close(mFD_disp);
- mFD_disp = 0;
- }
- return 0;
- }
复制代码 |
|