2022-9-20----Android----User版 打开串口抓开机日志

分析设备无法开机或开机出现异常,得用串口抓取开机log,但是user版默认是关闭串口的,所以你得去 lk 把串口打开。

Android 5、6的修改方法:

diff --git a/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c b/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
old mode 100644
new mode 100755
index 2440e9a016..06951b9850
--- a/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
+++ b/alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
@@ -813,7 +813,8 @@ int boot_linux_fdt(void *kernel, unsigned *tags,
 
 	if (!has_set_p2u) {
 #ifdef USER_BUILD
-		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+		//sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0");
 #else
 		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
 #endif
@@ -1020,7 +1021,8 @@ void boot_linux(void *kernel, unsigned *tags,
 #endif
 	if (!has_set_p2u) {
 #ifdef USER_BUILD
-		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+		//sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1");
+		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0");
 #else
 		sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
 #endif

printk.disable_uart=1修改为 printk.disable_uart=0 ,上面涉及到两处修改、其实开机的时候可能只调用到一处,本人懒得验证了就两处都修改了。

Android 10 高版本的修改:

--- a/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
@@ -1258,7 +1258,7 @@ int boot_linux_fdt(void *kernel, unsigned *tags,
#endif
                                cmdline_append("printk.disable_uart=1 slub_debug=-");
                        else
-                               cmdline_append("printk.disable_uart=0");
+                               cmdline_append("printk.disable_uart=1");
                        break;
                case BUILD_TYPE_ENG:

**Anddoid10 的修改恰好与Android低版本的修改相反,而是将printk.disable_uart=0 修改为 printk.disable_uart=1!这是值得注意的地方!!! **

编译lk然后烧录lk,用串口抓取日志时不知道波特率的话可以查看

/bootable/bootloader/lk/platform/mediatek/common/drivers/uart/uart.c
#define CONFIG_BAUDRATE 921600 

mtk一般默认是921600,本人用串口打印出来还是乱码、、质疑这质疑那的,后来在资深工程师的帮助下终于知道是 这波特率有点大、而本人5块钱的串口带不动这么高的波特率、后来换了个30块钱的串口成功打印出了 log

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值