1、什么是bitflip?
cpu中(cache或寄存器)或DDR中或flash中的 一个或者多个bit发生位反转如0变为1,1变为0.这样的变化没有软件参与,是硬件自己变的!!
2、为什么会发生bitflip?
一、器件不良-----比如cpu ddr flash 本身就有质量缺陷
二、器件供电不足或者供电受到干扰-----cpu ddr flash的稳定工作需要一定的电压频率,如果供电不足或者波动较大 那么其内部状态会不稳定从而引起bitflip
三、传输干扰-----数据在cpu-ddr或ddr-flash间流动时如果引脚干扰大也会导致传输出错(不过一般有传输校验这种 情况几率较小)
四、引脚虚焊-----器件与主板的硬件有虚焊当然会有问题
五、主板损坏或微损坏------导致送给器件的电或者信号不稳定
以上 除器件不良外都属于器件的供电或者其它信号会受到干扰或者不稳定的情况-----一般与主板强相关
下面直接以一个例子来分析。
pid: 481, tid: 13908, name: HwBinder:481_5 >>> /system/bin/cameraserver <<<
signal 4 (SIGILL), code --------, fault addr --------
r0 00000280 r1 000001e0 r2 ed6ff410 r3 00000000
r4 c69d2668 r5 ef0b7800 r6 00000003 r7 00003f23
r8 00000000 r9 ffffffff sl ef0b7ed0 fp ef2313c8
ip eea7bcc0 sp ed6ff3d0 lr f0019c4f pc f0019c92