当前搜索:

[置顶] ARMv8 内存管理架构.学习笔记

目 录 第1章 分级存储架构. 2 1.1基础认识... 2 1.1.1从数据通路描述. 2 1.1.2从数据交换单位描述. 2 1.1.3 Cache数据一致性拓扑结构. 3 1.2 系统层内存模型... 3 1.2.1内存属性. 3 1.2.2地址空间. 4 1.2.3字节编码支持. 4 第...
阅读(6312) 评论(3)

[置顶] ARMv8 架构与指令集.学习笔记

目 录 第1章 ARMv8简介. 3 1.1基础认识. 3 1.2 相关专业名词解释. 3 第2章 Execution State 4 2.1 提供两种Execution State 4 2.2 决定Execution State的条件. 4 第3章 Exception Level 5 3...
阅读(22557) 评论(20)

Linux内核相关知识点记录【内存管理】【进程调度】【异常调试】【锁】【kvm虚拟化】【内核启动】

1、内存管理 怎么阐述自己的理解?。硬件原理,分页机制原理内核内存管理由MMU提供硬件支持,MMU实现虚实地址VA=>PA的转换以及权限检查,虚拟地址和物理地址之间的映射关系是页表机制,每一个页表项都保持物理地址页及其访问权限,页表机制和图书馆借书是一个原理,为什么要用多级页...
阅读(46) 评论(0)

Dexopt代码修改导致的低概率Android soft watchdog timeout

现象:使用过程中手机低概率卡住,等待30s左右死机重启,6580-O1平台.分析:Exception Class: SWTException Type: system_server_watchdogCurrent Executing Process: system_serverTrigger ti...
阅读(40) 评论(0)

TEE OS内发生segment fault导致的Android Crash

现象使用错误手指触摸指纹5次,指纹被锁定后,按power灭屏再亮屏,手动解图形锁概率发生卡住,另外插入USB不复现。分析Exception Class: SWTException Type: system_server_watchdogCurrent Executing Process: syst...
阅读(36) 评论(0)

AlarmManager使用不当导致的充电低概率dead lock-6580-O1平台

记录碰到的一个比较简单的Android dead lock分析过程。现象:偶现一次开机充电过程中断开充电器后,充电指示灯长亮,手机屏幕全黑,按power键无法点亮屏幕(有log)DEBUG:Exception Log Time:[Wed Mar 21 09:16:58 CST 2018] [424...
阅读(25) 评论(0)

hang_detect类死锁解题案例分析

背景知识【hang detect 机制】MTK在内核中新增了一个用于监视system_server的SW watchdog字符设备驱动:/dev/RT_Monitor,该设备会启动一个内核线程循环去check system_server线程的状态,若system_server不存在则表明Andri...
阅读(440) 评论(0)

一台机器执行monkey test测试出现概率死机

记录一次概率死机的debug过程,概率性问题无法验证,仅是对现有的资料做出推理分析,若有不对的地方,欢迎各位看官拍砖。 现象: 发现一台机器执行monkey test测试出现概率死机现象,mt6580-N平台。 拿到mtklog,发现有发生NE和KE,使用GAT工具的logview-》open A...
阅读(426) 评论(0)

FTM下执行full test,进入camera test卡住,稍后手机重启

遇到一个重启问题,比较简单,记录下分析思路,6580平台. 现象: FTM (apk)下执行full test,到进入camera test的时候高概率出现卡顿死机现象。 第一感觉是camera test模块出了问题,拿到mtklog,查看aee_exp_backup目录,发现有SWI跟KE出...
阅读(249) 评论(0)

高通平台Linux kernel死机解题心得

1、前言 1.1 目的 能够借助相关调试工具,使用一般分析手段分析、定位解决项目过程中遇到的死机类系统稳定性问题,提升工作效率 持续积累,拓宽知识深度和广度 1.2 死机? 指系统发生致命性异常导致主动或者被动进入系统完全不可用的状态,导致系统死机的问题原因有很多,排除硬件问题,还有这些大...
阅读(2188) 评论(4)

从此使用vim代替si看代码

windows下的开发环境,最好用的看代码写代码工具当然是非source insight莫属了,所以一直以来都是用si写代码,分析代码。 后面转入linux开发环境后一直也是用si(通过wine安装)但是很不稳定,经常会出各种问题死掉。所以决定切换用vim来代替si,vim号称程序员最好用的代码编...
阅读(1378) 评论(1)

深入浅出 - 公钥、私钥和数字签名最通俗的理解

一、公钥加密  假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,...
阅读(882) 评论(0)

关于指纹硬件ID脚gpio兼容原理推导

1、基础认识 一个gpio脚配合软件可以实现高,低,高阻三种状态的区分,那么最多可以实现三种指纹硬件的兼容. 软件逻辑: 1》先给PIN一个高电平,然后读出该PIN的电平到val1; 2》再给PIN一个低电平,然后读出该PIN的电平到val2; 若: val1 == 1 &&...
阅读(296) 评论(0)

展讯7731C平台LED显示异常的解题历程

1、异常现象 内部测试报:插入充电器灭屏充电,待休眠后会出现红绿灯交替变化的情况。 简单调试后发现,其实有两个问题: 1》写led驱动节点控制异常问题 。 无法通过 adb shell echo 255 > /sys/class/leds/red/brightness 方式控制红绿灯变化...
阅读(548) 评论(0)

Crash加载ramdump报cpu_possible_mask异常问题

在使用Crash调试ramdump的时候发现一个错误,这里记录下。 $ crash vmlinux sysdump crash 7.1.3 Copyright (C) 2002-2014 Red Hat, Inc. Copyright (C) 2004, 2005, 2006, 2010...
阅读(648) 评论(11)

Trace32 加载MTK平台 SYS_MINI_RDUMP

MTK平台发生kernel panic之后会生成 aee_exp目录,里面会有相应的db文件,解开可以得到 SYS_MINI_RDUMP文件,这个是一个微型的ramdump,一般只有几MB大小,结合vmlinux可以使用trace32调试。 1、将以下内容保存到 debug.cmm ;o...
阅读(1124) 评论(0)

Trace32 加载高通 ramdump

1、高通ramdump解析后有几个重要文件: android@ubuntu:~/tmp/Port_COM6/out$ ls launch_t32.sh t32_config.t32 t32_startup_script.cmm 修改t32_config.t32默认配置调整字体为LARG...
阅读(2128) 评论(0)

Trace32 安装 (pc_linux64)

Trace32 属于调试也业内最强大的debug工具了,对于做机的人来说,多掌握一种调试手段意味着关键时候多一条解题的路,对于提升工作效率减轻工作量尤为重要。 下面简单介绍ubuntu14.04下安装Trace32的基本步骤。 1、拿到安装包,解压: android@ubuntu:~$ ls ...
阅读(1078) 评论(0)

高通平台 ramdump-parser 简介

ramdump 是什么?简单来说就是把系统memory中的某一个时间点的的数据信息通过一定手段取出来保存起来的内存崩溃文件,属于ELF文件格式。 当系统发生致命错误无法恢复的时候,主动触发抓取ramdump把异常现场保留下来供离线分析定位问题是一种非常重要的高级调试手段。 高通的ram...
阅读(4565) 评论(3)

让程序员跳槽的非钱原因

转至 :http://mp.weixin.qq.com/s/AgKNCgSeOBTXe1HnLpnNXw
阅读(275) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 11万+
    积分: 1646
    排名: 3万+
    最新评论