zoukankan      html  css  js  c++  java
  • 如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台

    [原][FAQ03891] 如何在User版本开启串口(Uart),抓取上层Log,开启输入控制台

    2014-11-26阅读1369 评论0

    FAQ Content

    [Description]
    如何在User版本开启串口(Uart),开启输入控制台,抓取上层Log
     
    [Keyword]
    User Uart Log Logcat 输入 控制台 串口
     
    [Solution]
    (1) 如何在User版本中使用串口(Uart)
     *Android GB 2.3 GB.MP GB.TDD.MP GB2.MP GB2.TDD.MP
      alps/mediatek/config/common/autoconfig/kconfig/USER
      如果版本一致的话,应当是这个文件的37行
      CONFIG_COMLINE=”console=ttyMT3,921600n1 loglevel=0”
      您把最后的loglevel = 8 即可
      
     *Android GB3.MP GB3.TDD.MP
      手法1:直接用ENG 版本的lk 替换掉user 版本的lk, 即重新download eng 版本的lk 即可。
      手法2:  alps/bootable/bootloader/lk/app/mt_boot/mt_boot.c 里面的 178 行,找到printk.disable_uart=1 改成 printk.disable_uart=0
              然后重新编译lk, download lk 即可。
      
     *Android ICS 4.0/JB 4.1
      如果是必须开机即需要抓取User 版本的Uart log, 请提交eservice 申请默认开启uart 的xlog 执行档
      否则可以直接在adb shell 中输入aee -k 6, 后面的6即kernel printk 的Log等级,您可以选择不同的等级
      
     *Android JB 4.2 以及以后版本
      手法1:直接用ENG 版本的lk 替换掉user 版本的lk, 即重新download eng 版本的lk 即可。
      手法2: alps/bootable/bootloader/lk/app/mt_boot/mt_boot.c 里面的 178 行,找到printk.disable_uart=1 改成 printk.disable_uart=0
              然后重新编译lk, download lk 即可。
      手法3: 如果只是临时将uart log 打开用于测试,请到我司DMS 上查询文档: Enable UART Log in user build.pptx
      
     * 注意事项: 由于uart log 的打印对系统的性能造成严重影响, 在JB9.MP 以及以后版本, 在开机完成后默认关闭了uart log, 以提高系统性能. 从uart log 中可以看到如:
       抓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:
       1. 在超级终端窗口按下键盘的任何一个按键就可以让UART log继续吐。此种方式需要UART的TX和RX都要连接好。
       2. 通过修改proc参数的方式: adb shell echo 1 > /proc/mtprintk
       3. 通过设置system property: 
        使用: UART:command: setprop persist.uartconsole.enable 1
                  ADB Shell: adb shell setprop persist.uartconsole.enable 1
      
    (2) 如何开启Uart 的控制台(console/sh)
     Uart 控制台的开启,决定于System property ro.debuggable,默认如果ro.debuggable=1 则开启(Eng 版本),User 版本ro.debuggable=0 则关闭。
     想在User 版本中打开,需要更新alps/mediatek/config/mt65xx/init.rc, 在init.rc 的触发器代码:
       on property:ro.debuggable=1
        start console
     后面增加:
       on property:ro.debuggable=0
        start console 
     然后重新编译bootimage 即可, ./mk [project_name] new bootimage 
     
    (3) 如何在Uart 上抓取上层LOG
     Uart 上进行输入,实际就是开启了一个sh 对接起来,所以绝对不能在uart 上输入一个长命令(不可中断),否则uart 将被卡住,不能再输入。
     抓取上层log, 我们通常需要call logcat, 但logcat 是不可中断的,将导致uart 不能再输入。
     处理的方法即将logcat 转入后台执行,如下操作即可:
     Main log: logcat -v time &
     Radio log: logcat -v time -b radio &
     Event log: logcat -v time -b events &
     如果想关闭上层log, 直接ps 查阅前面开启的logcat process pid, 然后kill -9 pid 杀掉即可。
     注意一定要带“&”,否则将block 住uart输入
     
     
    转至:http://m.blog.csdn.net/blog/sunxingzhesunjinbiao/41511961
  • 相关阅读:
    2019年11月4日随堂测试 最多输入字母统计
    写增删改查中间遇到的问题
    2019年12月9日下午自习成果
    2019年12月16日 分级考试
    2019年11月18日 JAVA期中考试 增删改查
    sql语言积累
    【转载】Java项目中常用的异常处理情况总结
    泛型
    C#数字格式化输出
    委托,Lambda的几种用法
  • 原文地址:https://www.cnblogs.com/Ph-one/p/5038185.html
Copyright © 2011-2022 走看看