您的位置:首页 > 其它

MTK 开机黑屏很长时间

2016-05-10 18:10 232 查看
MT6735平台,可以开机,但是黑屏很长时间才看到开机图片。

查看串口LOG发现手机是正常运行的,也就是说LCM驱动没有异常,黑屏阶段也没有什么错误报出。

在MTK的FAQ上找到如下:

[DESCRIPTION]

本FAQ只讨论开机过程中黑屏,不讨论花屏(可以参考刷)。只讨论L/M版本(之前的KK/JB版本可以作为参考)。

首先要看一下是否IPO开机,即在setting-->辅助功能-->不勾选“fast boot“,如果不黑屏,说明是因为ipo这个过程中的问题,那么问题需要看看这个动画,可以找一下ipo动画的owner。

如果不勾选“fast boot“出现黑屏,那么就是我们现在要讨论的问题。定位问题前一定要搞清楚黑屏发生的时间段,因为开机过程中,会有lk logo,kernel logo,bootanimation,这三个画面里面发生黑屏,解决办法不一样。

如下这张图,是ENG版本的开机logo,说明了开机过程中的logo显示。



查看问题,一定要使用ENG版本,因为ENG版本开机的时候,左下角有一行”normal boot“字样,据此我们可以知道黑屏发生在哪个地方。最好使用不同的logo资源,有些客户把lk logo和kernel logo做成一样,bootanimation的前几张图片也是做成一样,不便于区分,这样容易判断出错。

如下解释:

(阶段1)、带有”normal boot“的lk logo,会在lk阶段显示。显示时间一般1s左右。

(阶段2)、启动到kernel的前7s左右,显示的是带”normal boot“字样的lk logo。(这里L/M版本和KK/JB版本很不同,不在此处细说)

(阶段3)、之后显示kernel logo的时间段很短,一般只有2s左右.

(阶段4)、显示bootanimation动画。

(1)如果怀疑kernel log黑屏,可以单独运行一下kernel log应用,正常情况下会显示kernel logo,如果有黑屏,那么就是他造成的。

adb shell

cd system/bin

boot_logo_updater

(2)单独删除kernel logo,可以看看是否不黑屏。如果不黑屏,那么可能是因为加载kernel logo的时候,底层向OVL刷进去了异常的黑屏数据或者异常格式的数据等。

adb remount

adb shell

cd system/bin

rm -rf boot_logo_updater

(3)如果怀疑bootanimation黑屏,可以单独运行一下bootanimation应用,正常情况下会显示bootanimation动画,如果有黑屏,那么就是他造成的。

adb shell

cd system/bin

bootanimation

(4)单独删除bootanimation,看看还黑屏吗?不黑屏,那么问题在于bootanimation,下面会有

adb remount

adb shell

cd system/bin

rm -rf bootanimation

出现黑屏问题,请先使用mtk原生的版本和原生的logo资源,看看是否有问题,如果原声的没有问题,那么可能是客户替换的logo资源和客制化问题,需要注意如下几个资源检查:

1、logo.bin的大小限制在4M内

2、lk logo和kernel logo图片是RGB888格式

3、bootanimation图片是png格式

如果以上都check OK,可以参看如下的方式定位

[SOLUTION]

一、如果是(阶段1)黑屏,即lk logo没有显示出来,那么可能是logo资源异常,或者底层没有刷出来,需要抓uart log查看,可以打log跟踪platform.c文件里面的platform_init()函数。

二、如果是(阶段1)和(阶段2)之间黑屏,可能是刷屏的问题,如果有异常,从uart log里面,应该可以看到display error,比如vdo mode屏,这时候等VM Done timeout等。

三、如果是(阶段2)中间黑屏,看uart log是否有display error/fault/timeout/fail.

四、如果是(阶段2)和(阶段3)之间黑屏,可能是因为加载的kernel logo异常,或者mtkfb pan display implementation的时候异常数据进入,通常此时log里面很难看到error,需要加log进去debug。

五、如果是(阶段3)黑屏,可以使用上面的adb命令来区分到底是kernel logo的问题还是bootanimation开始的问题。

注释:以上5个可能出现黑屏的阶段,都与driver层相关,在找对应owner前,请先排除logo资源格式客制化等影响。根据我们这么些年定位问题来总结,很大一部分客户是因为客制化,logo资源等造成的问题。如果log里面有error,属于数据流在engine处理的时候异常,较容易修正。如果log没有异常,那么可能是异常的数据格式或者异常的flow导致的,比较难定位。

六、如果是(阶段4)黑屏,运行bootanimation应用看看,如果黑屏,那么问题在于bootanimation。关于bootanimation黑屏的定位,如下有一个完整的总结,请先自行check一下:

1.关于黑屏问题首先需要确认是否开机动画包本身的问题:

(1)将出现黑屏手机内部的system/media/bootanimation.zip pull到没有黑屏问题的手机,check是否还有黑屏,

如果出现黑屏说明是开机动画包本身的问题,可以转给AF2分析,否则继续查找其他原因;

(2)将正常手机的 system/media/bootanimation.zip pull到目前有黑屏问题的手机,check是否依然黑屏。

如果没有黑屏说明是开机动画包本身的问题,可以转给AF2分析,否则继续查找其他原因。

2.测试去掉开机铃声后是否还会出现黑屏:

如果没有出现黑屏说明与mediaplayer初始化较慢有关,需要与audio 的owner确认进一步的原因。否则继续查找其他原因。

具体可参考[FAQ09563]开机过程kernel logo到开机动画黑屏时间过长。

3.在开机动画前出现一帧闪黑屏可能与Google default 默认的clear screen操作有关,需要在BootAnimation.cpp文件中去掉相关清屏的code。

具体可参考[FAQ14488]kernel logo到开机动画之间闪现黑屏。

[FAQ17969]开机过程kernel logo到开机动画之间黑屏(总)

七、另外,对于6580/6735 M0.MP1版本,出现kernel logo后,bootanimation前的黑屏问题,请申请patch ALPS02561201。

还有这个:

[DESCRIPTION]

开机过程kernel logo到开机动画之间黑屏

[SOLUTION]

在开机过程,如果将bootanimation.zip的图片换成非黑色背景,发现从kernel logo到bootanimation之间会黑屏一下或者黑屏时间过长,这类问题的原因有可能是和Display相关,也有可能和Bootup流程相关。遇到这种问题,请按照如下步骤进行初步分析:

1. 确认哪个过程黑屏:

uartlog和mobilelog确认是lk logo, kernel logo, bootAnimation哪个过程黑屏。如果lk logo, kernel logo, bootAnimation第一张图片相同,先将lk logo, kernel logo, bootAnimation第一张图片分别替换成不同的图片。

2. 确认是否是动画包问题:

交叉测试,排除动画包bootanimation.zip的问题

3. 查看bootanimation进程:

3.1去掉开机铃声system/media/bootaudio.mp3,如果黑屏依然存在

请先在PMS申请patch:ALPS02561201, 针对M版本6580/6735

请先参考以下FAQ:

[FAQ14247][Denali系列]开机动画前黑屏相关的issues

[FAQ14488] kernel logo到开机动画之间闪现黑屏(L)

如果问题依然无法解决,请提交eService进一步分析解决。提交eService时,请参照以下FAQ抓取黑屏layer信息。

[FAQ05755]如何定位花屏和界面错乱等绘制异常的问题?

3.2 去掉开机铃声system/media/bootaudio.mp3后,从Kernel Logo到动画是没有黑屏:

基本可以肯定,黑屏是由于mediaplayer初始化耗时导致。

可以进行如下测试:

(1)如果手机支持IPO(快速开关机),可以查看下IPO开机时是否还有黑屏。如果没有黑屏,进一步可以推论出:黑屏与mediaplayer初始化耗时有关。

(2)如果手机不支持IPO,可以用adb命令当地运行bootanimation bin档测试:adb shell system/bin/bootanimation。结论同(1)。

请先参照相关FAQ:

[FAQ09563] 开机过程kernel logo到开机动画黑屏时间过长。

[FAQ17968] new Mediaplayer耗时导致开机过程中kernel logo到开机动画之间黑屏

如果问题依然无法解决,请提交eService进一步分析解决。

所以,我做了以下尝试:

1、用ENG版本开机,没有看到”normal boot“字样;

2、删除bootaudio.mp3,依然黑屏;

3、删除bootanimation.zip,开机图画变成了android,依然黑屏;

4、确认图片格式、分辨率等都没有问题;

推测和LCM是没有关系的,怀疑是LK和Kernel阶段LCM背光没有亮。所以配置lk目录下cust_leds.c文件,配置backlight。

问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: