MTK

目录

1:简介

2:怎么抓取和分析log

3:怎么确定问题点

简介 系统稳定性目前主要是解决系统死机重启。 分为两部分:Android /kernel Kernel 分析需要的文件和工具: Mtklog, vmlinux ,gat工具,解析vmlinux的脚本。

Vmlinux路径:alps\out\target\product\k55v1_64_op01_pre\obj\KERNEL_OBJ

解析vmlinux的脚本

ARM 32位版本:prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/

ARM 64位版本:prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/

Log抓取

1:如果能正常开机,通过*#*#3646633#*#*抓取mtklog,出现异常的时候会生成文件夹aee**,如

2:如果不能正常开机,需要抓取串口log. 另外默认把串口一直打开的话,可以修改代码:

alps\kernel-3.10\drivers\misc\mediatek\mtprof\mt_printk_ctrl.c

nt mt_need_uart_console = 0;->1

3:如果ADB能正常起来,但开不了机,可以通过ADB命令来抓取相关的log. Usr 版本只能抓取logcat

确认问题点

Case 1: 能开机,卡死在一些界面上。

----这种情况,有几个步骤:先按power键看是否可以正常休眠唤醒。如果power键有反应,再插USB,看是否可以正常检测到ADB,如果可以正常检测到ADB,那可以通过ADB shell getevent 来看是否是TP驱动没有报点。

Case 2 开机卡死,按power键没反应。

----需要抓取mtklog,看是否有生成aee的log文件夹,有的话需要通过gat工具来解析。步骤如下: 1:电脑端打开应用程序 gat-linux-x86_64-3.1501.1.c\gat-linux-x86_64-3\modules\MediatekLogView\MediatekLogView

2:打开aee目录里面的文件,如” db.fatal.06.KE.dbg“,可以直接拖进来。

Case 3 不能开机,需要抓取串口log分析。

简单分析步骤: 1:抓取串口log[MTK 的波特率需要设置为921600]

2:确认PC指针指到具体函数和具体函数

在alps/prebuilts/gcc/linux-x86/aarch64-linux-anroid-4.9/bin$./aarch64-linux-android-addr2line -e vmlinux -f -C 0xffffffc0009f62a4

确定具体文件和行号

alps/prebuilts/gcc/linux-x86/aarch64-linux-anroid-4.9/bin$./aarch64-linux-android-objdump -d vmlinux

3:有时候kernel看到了异常,但不一定就是kernel的问题,有可能是上层主动发了重启之类的命令,可以在log中看类似的打印:

Case 4: WatchDog超时

Case 5 HW reboot

Hardware reboot的成因:MT6592平台芯片有一个External watch dog,软件每隔30秒要去踢一次,若没有踢到,就会触发软件Watch Dog Timeout重启;

若软件有在规定的时间内(30秒)去踢这个External Watch Dog,但是由于硬件原因,导致External Watch Dog没有及时被踢到,那么这个External Watch Dog最多会等待60秒的时间,60秒之后会直接触发硬件重启,这就是所谓的Hardware reboot

至于是什么样的硬件原因导致无法及时提到External Watch Dog,最常见的一种是bus hang住, 比如不合理的读写寄存器就会导致bus hang住;也有一些是硬件设计不合理,或者硬件出现故障导致机器乱死,或者硬件某些器件不稳定,导致Hardware reboot 如果是因为读写寄存器导致bus hang住,进而触发Hardware reboot,一般在last pc 和last kmsg中会有体现,每次最后的PC或者最后打印出来的几句log都是一样或者相似的 若是硬件不合理或者硬件出现故障或者硬件不稳,这种在last pc 和last kmsg中就没有规律性了, 这种case,一般都是对照之前的项目,看之前项目是否有出现? 若之前项目稳定,而现在项目有Hardware reboot,则对照之前项目跟现在项目在硬件上的差异,然后通过硬件实验来理清问题

时间: 2024-08-13 01:54:25

MTK的相关文章

mtk预装apk 方案公司内置预装apk

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha == MTK 预知第三方的APK 流程_yuan 关于MTK平台第三方APK的定制方法 - 推酷 Android:源码环境下移植第三方的apk内置到ROM(System Image)中 - 混迹于移动互联网和手机行业 - 博客频道 - CSDN.NET android源码中预安装第三方的apk软件 - sno_guo的专栏 - 博客频道 - CSDN.NET android 源码环境

联发科(MTK)调研归来

MTK调研,应该是这个暑期做的最有益的事情之一,回来后也迫不及待跟几位同事做了交流,那么现在写点干货与大家一起交流. 联发科的这几天 联发科是一家什么单位?去之前,我的了解停留在魅族.红米等手机的芯片.去了之后,对MTK有了一个较全面的了解,但更多的是感受着这家企业的文化和活力! 几个问题,几点感悟 1.  IT.IC企业天天加班到疯狂,是不是很苦? 是的,几乎加班在IT企业是家常便饭,因为这就是安排给他的工作需要做,如果白天做不完,那么自己的事情,肯定需要自己晚上加班进行了.因此,其实加班没那

mtk硬件启动关闭蓝牙功能的项目:mtk 上层操作GPIO应用示例

mtk硬件启动关闭蓝牙功能的项目:mtk上层操作GPIO应用示例 项目要求: 接上篇: 1:蓝牙按键(KCOL2+KROW1)长按3秒,软件上控制GPIO144拉高2秒后关闭,蓝牙就开启并搜索配对.同时拉高GPIO98,控制音频的模拟开关切换蓝牙音源. 2:蓝牙在工作状态下,给出个1.8V的高电平,给GPIO145用来检测蓝牙的工作状态. 3:蓝牙在工作装态下想要重新配对,在长按蓝牙按键3秒,控制GPIO97拉高3秒后关闭,蓝牙模块在收到这个信号后执行清空列表和重新搜索功能. 4:蓝牙按键(KC

高通与MTK瓜分天下?手机处理器品牌分析

http://mobile.pconline.com.cn/337/3379352.html [PConline 杂谈]如果你向朋友请教买一台怎样的台式机或者笔记本的话,很多时候那朋友会根据你对电脑的使用需求而作一个性能划分,如“你只是需要处理一些简单的文档,对游戏的要求也并不高,选择Intel i3的处理器就已经足够了.”这里虽然有为Intel做广告之嫌,但Intel这么多年来对i系列处理器的深耕,效果在这里就显示出来. 高通与MTK瓜分天下?手机处理器品牌分析 以上的话题好像与本文关于移动(

MTK Android Driver知识大全

转载请注明出处:http://blog.csdn.net/cbk861110/article/details/40931835 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在使用DSI接口时,目前75/77都只支持到2条data lane,加上一条clock lane. 使用DPI接口时,根据LCM IC支持的情况,可以选择16bus.18bus传输RGB格式文件,在GPIO部分分为R.G

MTK 65XX系列通过USB OTG添加Ethernet RJ45有线网卡支持

最近客户要求使用MTk 6572芯片通过USB OTG添加支持有线网卡,我查遍了钩钩了所有网站,都没有相关论述,查看了MTK给的资料,包括FAQ,只说支持USB OTG键盘鼠标和U盘.怎么办?只有我自己来. 但是,按照我对于USB设备机构的理解,只要我们挂在了USB Ethernet的驱动,那么在USB Ethernet插入的时候,应该可以自动匹配到其设备驱动,所以只要我们挂在了USB Ethernet的驱动,那么就应该可以正常工作. 首先,就是回顾如果是非MTK平台,我们如何添加Etherne

MTK平台LCD驱动框架详解(一)

许多学习嵌入式的进入MTK开发平台,很多东西都会感到很陌生.在MTK平台上你可以简简单单几分钟就点亮一块屏.加上MTK快速开发的节奏,也很少有时间自己整理学习.如果不思进取,不加班加点学习.很容易就慢慢--.这也难怪有些人说MTK造就了一批懒人,毁掉了一批工程师.但其实都是基于linux开发,核心的东西都是一样一样的.我刚入行业,在迷茫之际,自己整理跟踪源码.想慢慢找回自己熟悉的感觉,掌握MTK的整体框架.也希望能给有需要的人带来些帮助.好吧!前话说到这,开始正题. 本文肯定有不少地方会出现错误

由一个LED闪烁问题发现的MTK的LED driver中存在的问题

今天根据最新的需求要对LED灯的提示闪烁频率进行修改,将之前默认的2000ms改为10000ms,但是修改之后没有产生预料中的效果,而是变成了常量,百思不得其解,最后还是read the fucking code,从上层到底层,一路追下来,最终发现了问题所在,下面直接上MTK的LED driver代码: #define PMIC_PERIOD_NUM 9 // 100 * period, ex: 0.01 Hz -> 0.01 * 100 = 1 int pmic_period_array[]

通过MTK迁移Mysql到EDB实战指南

1.1 迁移准备 下图是Migration toolkit(MTK)可使用的迁移功能 1 查看一下迁移源数据库testdb信息.共三张表 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L

Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP

在做OTA升级包的时候,我编译了好多次都没过.老是IO异常.刚開始以为是我 make 的错误.后来多次检查 Error 发现是我的配置信息写错了,与驱动project师一起检查源代码, 改动配置信息后再次 OTA 成功.顺便记下这个这个过程,避免以后再次犯这种错误 make -jxx otapackage / make -jxx 成功后 make -j24 otapackage 运行上述当中一个命令,将ROM打包到ZIP.可mv到TF运行安装升级等 出现的错误提示: <span style=&quo