首页 > 其他分享 >Android 底层问题日志记录

Android 底层问题日志记录

时间:2024-03-22 11:55:35浏览次数:13  
标签:ATF 14 16 36 220817 108 Android 日志 底层

上电日志  ddr 异常  (ddr内存-->内存是其它硬件与CPU进行沟通的桥梁)
(220817_11:21:48.229)[dramc] DRAM_FATAL_ERR_FLAG = 0x80000020
(220817_11:21:48.229)[dramc] fatal dram exception found! reset system..
(220817_11:22:25.531)Pll init start...  PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时钟信号
(220817_11:22:25.541)Pll init Done!


程序跑飞是指系统受到某种干扰后,程序计数器PC的值偏离了给定的唯一变化历程,导致程序运行偏离正常的运行路径.
程序跑飞因素及后果往往是不可预计的.在很多情况下,程序跑飞后系统会进入死循环而导致死机.”
导致问题:PMU(电源管理,cpu,ddr)
(220817_14:36:50.274)[   49.499550] <2>.(2)[108:kswapd0]Unable to handle kernel NULL pointer dereference at virtual address 00000004
(220817_14:36:50.290)[   49.500981] <2>.(2)[108:kswapd0]pgd = c0004000
(220817_14:36:50.290)[   49.501897] [00000004] *pgd=00000000
(220817_14:36:50.290)[   49.502378] <2>-(2)[108:kswapd0]Internal error: Oops: 5 [#1] PREEMPT SMP ARM
(220817_14:36:50.290)[   49.503266] disable aee kernel api[   49.503672] <2>-(2)[108:kswapd0]Kernel Offset: disabled
(220817_14:36:50.290)[   49.504333] Modules linked in: wlan_drv_gen4m bf18b000   (null) 1900544 0 (O) wmt_chrdev_wifi bf182000   (null) 20480 0 (O) gps_drv bf175000   (null) 32768 0 (O) fmradio_drv bf140000   (null) 176128 0 (O) bt_drv bf135000   (null) 28672 0 (O) wmt_drv bf008000   (null) 1081344 0 (O) fpsgo bf000000   (null) 16384 0 (O)
(220817_14:36:51.289)[   50.507809] <2>-(2)[108:kswapd0]Non-crashing CPUs did not react to IPI
(220817_14:36:51.321)[   50.508640] <2>-(2)[108:kswapd0]CPU: 2 PID: 108 Comm: kswapd0 Tainted: G    B   W  O    4.9.117 #2
(220817_14:36:51.321)[   50.509760] <2>-(2)[108:kswapd0]Hardware name: Generic DT based system
(220817_14:36:51.321)[   50.510577] <2>-(2)[108:kswapd0]task: dc47e000 task.stack: dc4c6000
(220817_14:36:51.321)[   50.511370] <2>-(2)[108:kswapd0]PC is at down_read_trylock+0xc/0x64
(220817_14:36:51.321)[   50.512159] <2>-(2)[108:kswapd0]LR is at page_lock_anon_vma_read+0x58/0x164
(220817_14:36:51.321)[   50.513029] <2>-(2)[108:kswapd0]pc : [<c01a4f54>]    lr : [<c0294058>]    psr: 200f0013
(220817_14:36:51.321)[   50.513029] <2>sp : dc4c7b58  ip : dc4c7b68  fp : dc4c7b64
(220817_14:36:51.321)[   50.514707] <2>-(2)[108:kswapd0]r10: dc4c7c90  r9 : 00000001  r8 : 00000004
(220817_14:36:51.321)[   50.515577] <2>-(2)[108:kswapd0]r7 : 00000001  r6 : dd75d60c  r5 : cd9f31f1  r4 : cd9f31f0
(220817_14:36:51.321)[   50.516608] <2>-(2)[108:kswapd0]r3 : 00000100  r2 : dc47e000  r1 : dc4c7bf0  r0 : 00000004
(220817_14:36:51.321)[   50.517640] <2>-(2)[108:kswapd0]Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
(220817_14:36:51.321)[   50.518747] <2>-(2)[108:kswapd0]Control: 10c5383d  Table: 4d22806a  DAC: 00000051
(220817_14:36:51.321)[   50.519682] <2>-(2)[108:kswapd0]
(220817_14:36:51.321)[   50.519682] <2>PC: 0xc01a4ed4:



pmic(电源管理)
重启  没有进入内核  [LK]jump to K64 0x40008000  pmic 
(220822_16:14:08.810)[1378] lk boot time = 1277 ms
(220822_16:14:08.810)[1379] lk boot mode = 0
(220822_16:14:08.810)[1380] lk boot reason = usb
(220822_16:14:08.810)[1380] lk finished --> jump to linux kernel 32Bit
(220822_16:14:08.810)[1381] 
(220822_16:14:08.810)[LK]jump to K64 0x40008000
(220822_16:14:08.810)[ATF](0)[1.491366]INFO:    clear_all_on_mux
(220822_16:14:08.810)[ATF](0)[1.491836]INFO:    SPM: enable SPMC mode
(220822_16:14:08.811)[ATF](0)[1.492393]INFO:    save kernel info
(220822_16:14:08.811)[ATF](0)[1.492862]NOTICE:  Kernel is 32Bit
(220822_16:14:08.811)[ATF](0)[1.493335]NOTICE:  pc=0x40008000, r0=0x0, r1=0x2041, r2=0x47880000
(220822_16:14:08.811)[ATF](0)[1.494154]INFO:    BL3-1: Preparing for EL3 exit to normal world, Kernel
(220822_16:14:08.811)[ATF](0)[1.495037]INFO:    BL3-1: Next image address = 0x40008000
(220822_16:14:08.811)[ATF](0)[1.495758]INFO:    BL3-1: Next image spsr = 0x1da
(220822_16:14:08.811)[ATF](0)[1.496397]INFO:    el3_exit
(220822_16:14:11.040)Pll init start...
(220822_16:14:11.047)Pll init Done!


正确开机日志  进入内核,有内核[    0.000000] 打印
[ATF](0)[1.444597]INFO:    clear_all_on_mux
[ATF](0)[1.445067]INFO:    SPM: enable SPMC mode
[ATF](0)[1.445622]INFO:    save kernel info
[ATF](0)[1.446091]NOTICE:  Kernel is 32Bit
[ATF](0)[1.446566]NOTICE:  pc=0x40008000, r0=0x0, r1=0x2041, r2=0x47880000
[ATF](0)[1.447384]INFO:    BL3-1: Preparing for EL3 exit to normal world, Kernel
[ATF](0)[1.448267]INFO:    BL3-1: Next image address = 0x40008000
[ATF](0)[1.448988]INFO:    BL3-1: Next image spsr = 0x1da
ATF](0)[1.449627]INFO:    el3_exit
[    0.000000] <3>-(0)[0:swapper]Booting Linux on physical CPU 0x0
["   0.000000] <3>-(0)[0:swapper]Linux version 4.9.117 (xyauto@zx-46) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #2 SMP PREEMPT Thu Jun 30 22:08:27 CST 2032
[    0.000000] <3>-(0)[0:swapper]CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[    0.000000] <3>-(0)[0:swapper]CPU: div instructions available: patching division code
[    0.000000] <3>-(0)[0:swapper]CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] <3>-(0)[0:swapper]OF: fdt:Machine model: AC8257V/WAB
[    0.000000] <3>-(0)[0:swapper]mrdump_get_cb: mrdump_cbaddr=0x0010e800, mrdump_cbsize=0x00001400
[    0.000000] <3>-(0)[0:swapper]OF: reserved mem: failed to allocate memory for node 'zone-movable-cma-memory'
[    0.000000] <3>-(0)[0:swapper][CONNADP][W]reserve_memory_consys_fn: name: consys-reserve-memory,base: 0xbf000000,size: 0x400000
[    0.000000] <3>-(0)[0:swapper]OF: reserved mem: initialized node consys-reserve-memory, compatible id mediatek


如果时间重启相差时间远   中间没有报错  硬件问题  看ddr  pmic          重启相差时间不远  Android 问题 
大概300ms
(220823_14:46:40.163)[    2.308077] <1>.(1)[204:kworker/u16:4][AUTOK][HS400]======Cost:134 ms======  突然断电了 没有日志打印了
(220823_14:47:40.534)Pll init start...
(220823_14:47:40.534)Pll init Done!


pmic    如果时间重启相差时间远  500ms
(220824_14:38:19.166)kedump: offset:0x3e8, data:0x481014b8, size:0x40
(220824_14:38:19.166)kedump mini done
(220824_14:38:19.166)[715] kedump:full pmic reset!
(220824_14:38:19.166)[716] [WDT] mtk_arch_full_reset
(220824_14:38:19.658)Pll init start...
(220824_14:38:19.661)Pll init Done!

看门狗问题
(220824_14:38:06.821)[ATF](0)[10.148177]NOTICE:  Kernel WDT not ready
(220824_14:38:06.821)[ATF](0)[10.148715]NOTICE:  Wait timeout.
(220824_14:38:17.240)Pll init start...
(220824_14:38:17.252)Pll init Done!


开不了机  preloader fatal error...  ddr 问题
(220902_15:16:31.256)rank 0 coarse = 14
(220902_15:16:31.256)rank 0 fine = 64
(220902_15:16:31.256)10:|    0    0    0    0    0    0    0    0
(220902_15:16:31.256)cannot find opt_dle value
(220902_15:16:31.256)[EMI] DRAMC calibration failed
(220902_15:16:31.256)[MEM] complex R/W mem test fail :FFFFFFFE
(220902_15:16:31.256)<ASSERT> memory.c:line 109 0
(220902_15:16:31.256)[PLFM] preloader fatal error...




标签:ATF,14,16,36,220817,108,Android,日志,底层
From: https://www.cnblogs.com/kato-T/p/18089154

相关文章

  • typescript 学习日志
    1. 属性名前面加上 readonly 关键字,表示这个属性是只读属性,不能修改。typescript里面的readonly是真的在初始化的时候确定其值不可改变,而非C#里面一样的其实是一个计算属性。 注意,如果属性值是一个对象,readonly修饰符并不禁止修改该对象的属性,只是禁止完全替换掉该对象。......
  • 定时备份docker日志(shell方式,可能存在丢部分日志)
    创建sh文件 vi~/backup_docker_log.sh #!bin/shif[!-d"/logs"];thenmkdir"/logs"ficd/logs/forfilein/var/lib/docker/containers/*doiftest-d$filethenecho$file是目录forlogfilein$file/*.log......
  • 在Linux中,有一堆日志文件,如何删除7天前的日志文件?
    在Linux中,如果你想要删除7天前的日志文件,你可以使用find命令配合-mtime选项来实现。下面是一个详细的步骤说明:1.确定日志文件所在的目录首先,你需要知道这些日志文件存放在哪个目录下。例如,假设你的日志文件都存放在/var/log/目录下。2.使用find命令查找并删除文件你可以使用......
  • Android11.0 SystemUI 下拉通知栏去掉左右滑动通知菜单功能
    1.前言在11.0的系统rom产品定制化开发中,在systemui模块中关于下拉状态栏这块也是非常重要的部分,最近在关于systemui下拉通知栏的每条通知部分要求去掉通知栏通知的长按事件,不需要长按功能,所以就需要分析下关于长按事件是在哪里注册的,然后去掉就可以了,接下来分析实现相关功能......
  • QT6 android下配置文件打包到APK
    一.遇到问题   用QT做android开发,生成的apk文件默认不包含程序配置文件和png文件,导致程序在android上无法读取必要的参数和logo,本文主要解决这个问题,并详细讲述QTandroid的apk程序打包流程。二.APK打包流程1.如何生成APK  当我们的工程的构建套件选择Android编译器......
  • 与Android Gradle Plugin对应的Gradle版本和Android Studio版本
    Gradle版本和AndroidGradlePlugin对应版本Gradle版本AndroidGradlePlugin版本8.4(Alpha版)8.6-rc-18.38.48.28.28.18.08.08.07.47.57.37.47.27.3.37.17.27.07.04.2.0+6.7.1AndroidStudio版本和AndroidGradlePlugin对应版本AndroidStudio版本AndroidGradlePlugi......
  • ConcurrentHashMap底层详解
    ConcurrentHashMap是线程安全且高效的HashMap。一、使用原因在并发编程中使用HashMap可能导致程序死循环。而使用线程安全的HashTable效率又非常低下,基于此产生了ConcurrentHashMap。1.线程不安全的HashMap在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率......
  • 870大神安卓Android电影院订票app设计-计算机毕业源码设计
    【友情提示】本店所有安卓Android项目都支持Eclipse和AndroidStudio编程工具,你们可以任意选择开发软件!开发环境:Myclipse(服务器端)+Eclipse(手机客户端)+mysql数据库 影院系统在电影院有着重要的地位,它不仅保存着电影院的基本信息,而且会储存大量的用户个人信息。影......
  • 简单部署syslog日志服务
    服务yum-yinstallrsyslogvi/etc/rsyslog.conf$ModLoadimudp$UDPServerRun514####endoftheforwardingrule###$templateIpTemplate,"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"*.*?IpTemplatesystemctlrestartrsyslo......
  • python 异常捕获、断言(assert 、finally) 与日志(loguru.logger)
    异常捕获常见的异常类型代码执行顺序从上到下依次运行的,如果出错了,后面的代码不会出错。--所以要对异常做处理。常见的异常的类型,不需要记;平时写代码的时候经常会报错,积累常见错误,排查问题。常见异常的报错的类型:NameError,IndexError,KeyError,ValueError,ZeroDivisionE......