|
发表于 2020-9-3 19:25:56
7184 浏览 0 回复
Android O 版本之后如何在user版本抓uart log
1、在/vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt67XX/default.mak中
将
- ifeq ("$(TARGET_BUILD_VARIANT)","user")
- CFG_UART_DYNAMIC_SWITCH :=1
- else
复制代码 修改为:
- ifeq ("$(TARGET_BUILD_VARIANT)","user")
- CFG_UART_DYNAMIC_SWITCH :=0
- else
复制代码
参考代码:
- /vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt67XX/src/core/print.c中:
复制代码
- #if CFG_UART_DYNAMIC_SWITCH
- static int g_log_switch = 1;
- #endif
- int get_log_switch(void)
- {
- return g_log_switch;
- }
- void print(char *fmt, ...)
- {
- va_list args;
-
- if (get_log_switch())
- {
- va_start(args, fmt);
- vprint(fmt, args);
- va_end(args);
- }
- }
复制代码 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
|
|
|
|
|
登录或注册
|