MTK进入系统界面后不再打印串口log

【问题描述】

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版本有不同的行为。

【解决方法】

有两种种方法可以在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

【问题描述】

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版本有不同的行为。

【解决方法】

有两种种方法可以在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

【终极办法】

文件路径:kernel-4.9/kernel/printk.c

void mt_disable_uart() 

{   
    if(mt_need_uart_console != 1)&&(printk_disable_uart != 2))                                                     

        printk_disable_uart = 0;//1  modified for uart enable

}   

文件路径:kernel-4.9/kernel/printk.c

void mt_disable_uart() 

{   

    if(mt_need_uart_console != 1)&&(printk_disable_uart != 2))                                                     

        printk_disable_uart = 0;//1  modified for uart enable

}    
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值