您的位置:首页 > 其它

[FAQ10087]为什么进入Launcher界面之后UART Log就不吐了?

2015-08-25 15:07 399 查看
[DESCRIPTION]

UART Log是Targe端Linux kernel透过UART硬件以固定的波特率传输到PC端的一种log方式,这种方式由于在操作过程中的一些lock机制以及硬件传输的限制会在较大程度上影响系统的Performance,严重的时候可能达到20%的程度,甚至可能卡住系统导致重启。

UART Log在USER版本上是默认关闭的,ENG版本则默认打开。由于UART Log对Performance有影响,所以对于一些Performance的测试我们都会要求关闭UART log进行测试对比。在某一些问题上面,UART log对系统的影响也可能导致user版本和eng版本有不同的行为。

针对这种差异,我们从JB9.MP这个分支开始做了一个新的feature,ENG版本在开机到Launcher之后自动关闭UART Log,从而使几乎大部分的测试在eng版本和user版本上得到一致的测试结果。

抓UART Log的时候会看到类似下面的Log。

[ 25.986567].(1)[324:Binder_1][usktrk] socket close[10422]

[ 25.987748].(1)[324:Binder_1]BOOTPROF: 25987.740155:BOOT_Animation:END

[ 25.988616].(1)[324:Binder_1]<< printk console disable >>

那如何打开UART log呢?

[SOLUTION]

有两种种方法可以在eng版本上临时打开UART log(重启之后失效):

在超级终端窗口按下键盘的任何一个按键就可以让UART log继续吐。此种方式需要UART的TX和RX都要连接好。
通过修改proc参数的方式: adb shell echo 1 > /proc/mtprintk

还有一种方法可以在eng版本上面永久性打开UART Log (重启之后继续有效):

通过修改Property的方式:adb shell setprop persist.uartconsole.enable 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: