日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 打印kernel log,android8.0 kernel4.9.44 各层log打开

發布時間:2023/12/2 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 打印kernel log,android8.0 kernel4.9.44 各层log打开 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.問題

平臺android8.0 kernel4.9.44,想加個i2c驅動,打開log都是一件腦瓜疼的事。

二.log總結

android有三種log。

1.kernel下面的,就是driver層log。

2.kernel上面的,init和init.rc啟動的程序的log,應用層

3.kernel上面的,android的log,就是logcat打印的。

三.log打開方式

1.kernel下面的,就是driver層log。

1.1打印log使用printk,printk有如下方式

printk("default,其實等于KERN_WARNING=4");//不加KERN_ERR KERN_DEBUG這些,其實等于KERN_WARNING

printk(KERN_EMERG "====> KERN_EMERG=0");

printk(KERN_ALERT "====> KERN_ALERT=1");

printk(KERN_CRIT "====> KERN_CRIT=2");

printk(KERN_ERR "====> KERN_ERR=3");

printk(KERN_WARNING "====> KERN_WARNING=4");

printk(KERN_NOTICE "====> KERN_NOTICE=5");

printk(KERN_INFO "====> KERN_INFO=6");

printk(KERN_DEBUG "====> KERN_DEBUG=7");

1.2系統啟動后,打印log可以用

1.2.1 dmesg 可以打印所有log

1.2.2 cat /proc/kmsg 可以打印所有log,再次敲命令cat /proc/kmsg只會打印接下來的log,就是說log打印完后會被清除掉

1.2.3 不想敲命令,想在串口看見log,要設置串口log級別。

查看KERN_ERR=3及以下的log,dmesg -n 4或者echo 4 > /proc/sys/kernel/printk

查看KERN_WARNING=4及以下的log,dmesg -n 5或者echo 5 > /proc/sys/kernel/printk

查看KERN_DEBUG=7及以下的log,dmesg -n 8或者echo 8 > /proc/sys/kernel/printk

2.kernel上面的,init和init.rc啟動的程序的log,應用層

2.1 init程序啟動后會重定向文件,串口是看不見log的。

要調試,如果程序可以在串口執行,試試串口執行,或者在init.rc里修改啟動方式

service logwrapper /system/bin/logwrapper /system/bin/hello,用android工具logwrapper 執行服務

3.kernel上面的,android的log,就是logcat打印的。不再贅述。

四、調試kernel雜項

1.編譯燒錄kernel

make bootimage -j44,然后燒錄boot.img,kernel在boot.img分區里面

2. 驅動里module_init函數 log不打印 ,read函數和write函數有log

dmesg緩沖區是有大小限制的,log太多,前面的log已經被清除了。開機后快速dmesg可以得到log的

3.編譯報錯

Unknown symbol __class_create (err 0)

Unknown symbol device_create (err 0)

解決,增加聲明 MODULE_LICENSE(“GPL”);

4. i2c 地址0x18 要左移一位 0x18<<1 =0x30是讀地址,0x31就是寫地址

dts里面寫0x18

總結

以上是生活随笔為你收集整理的android 打印kernel log,android8.0 kernel4.9.44 各层log打开的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。