MTK 平台串口日志

发布时间 2023-04-25 16:36:33作者: 皓然123

MTK 平台,可以不用在焊接串口线的情况下,通过usb口来打印串口日志。User版本打开各个阶段uart log(UART log),修改如下:

1. Preloader 阶段

文件:bootloader/preloader/platform/${plateform}/default.mak

修改:CFG_USB_UART_SWITCH :=1

注意:有些平台改成了 MTK_UART_USB_SWITCH

2. LK 阶段

文件:rlk6795_lwt_m.mk  (根据平台选择文件)

修改:DEFINES += WITH_DEBUG_UART=1(1=enable)

3. cmdline的修改

文件:vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c

修改:

#ifdef USER_BUILD
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0"); // 需修改此文件所有的disable_uart=1, 1->0, 即可打开uart log
#else
sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
#endif

4. Kernel 阶段

文件:config 文件

修改:MTK_UART_USB_SWITCH = yes(yes = enable)

5. 开机到桌面后

开机到桌面后,手机uart log停止输出?

文件:kernel-3.18/kernel/printk/printk.c

修改:

void mt_disable_uart(void)
{
if (mt_need_uart_console == 0)
- printk_disable_uart = 1;
+ printk_disable_uart = 0;
}

 

总结:

1. 查看了修改,基本思想是设置usb 的寄存器,应该是设置成串口模式了,所以可以吐出串口日志。

2. cmdline 里面,传入了不同的参数,kernel会通过这些参数加载串口驱动。(user版本要注意这一点)