搜索

430

主题

515

帖子

2134

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2134
QQ
发表于 2020-9-3 19:25:56 7183 浏览 0 回复

Android O 版本之后如何在user版本抓uart log

1、在/vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt67XX/default.mak中

  1. ifeq ("$(TARGET_BUILD_VARIANT)","user")
  2. CFG_UART_DYNAMIC_SWITCH :=1
  3. else
复制代码
修改为:
  1. ifeq ("$(TARGET_BUILD_VARIANT)","user")
  2. CFG_UART_DYNAMIC_SWITCH :=0
  3. else
复制代码

参考代码:
  1. /vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt67XX/src/core/print.c中:
复制代码

  1. #if CFG_UART_DYNAMIC_SWITCH
  2. static int g_log_switch = 1;
  3. #endif

  4. int get_log_switch(void)
  5. {
  6. return g_log_switch;
  7. }

  8. void print(char *fmt, ...)
  9.   {
  10.          va_list args;

  11.          if (get_log_switch())
  12.         {
  13.         va_start(args, fmt);
  14.          vprint(fmt, args);
  15.          va_end(args);
  16.          }
  17. }
复制代码
2、开启UART kernel log
a. 修改cmdline中'printk.disable_uart=0'。 位置:vendor\mediatek\proprietary\bootable\bootloader\lk\app\mt_boot\mt_boot.c: boot_linux_fdt()


b. 在a改动之后,kernel进入HS 之后log依然会停止。
在旧版uart平台,比如denali, everest, ZION, Bianco. 修改kernel-X.XX/drivers/misc/mediatek/uart/uart.c mtk_uart_irq() 中 comment 掉 ifdef CONFIG_MTK_ENG_BUILD 可以使输入字符,触发log 继续.
在新版使用8250 uart平台,比如cervino, merlot, lafite. 修改kernel-X.XX/drivers/tty/serial/8250/8250_port.c, comment 掉 ifdef CONFIG_MTK_ENG_BUILD 前后宏,触发log 继续.

c.
cmdline中如果含有‘loglevel=0' ,请修改为 ‘loglevel=8' (check dts里面配置[kernel-X.XX/arch/arm[arm64]/boot/dts/${project}.dts])


手机微信同号:13682654092
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表