android系统 mt6735设置printk输出log等级

news/2025/1/16 17:46:16/

首先,在LK中,有一个对log打印级别的控制文档,其路径一般为:vendor\mediatek\proprietary\bootable\bootloader\lk\include\debug.h(以mtk平台为例)

在include\debug.h重要代码为:

//下面做个判断:意思是如果makefile(相应的平台mk文件) 定义了DEBUG的值,就是用它,否则默认为2等级
//在bootloader\lk\project\rlk6737m_65_n.mk中:DEBUG := 2
#if defined(DEBUG)
#define DEBUGLEVEL DEBUG
#else
#define DEBUGLEVEL 2
#endif

/* debug levels 调试级别*/
#define CRITICAL 0 //数字越小级别越高,打印的信息log越少
#define ALWAYS 0
#define INFO 1
#define SPEW 2

/* output */ 输出方式介绍
void _dputc(char c); // XXX for now, platform implements 平台工具
int _dputs(const char *str);
int _dprintf(const char *fmt, ...) __PRINTFLIKE(1, 2);
int _dvprintf(const char *fmt, va_list ap);

//下面的这些打印方法具体含义是:如果级别<=之前定义的调试级别的话就打印否则不打印

#define dputc(level, str) do { if ((level) <= DEBUGLEVEL) { _dputc(str); } } while (0)
#define dputs(level, str) do { if ((level) <= DEBUGLEVEL) { _dputs(str); } } while (0)
#define dprintf(level, x...) do { if ((level) <= DEBUGLEVEL) { _dprintf(x); } } while (0)
#define dvprintf(level, x...) do { if ((level) <= DEBUGLEVEL) { _dvprintf(x); } } while (0)

相关DEBUG的定义有不同的方式方法,如下例子:

法①、在bootable\bootloader\lk\project\rlk6757_66_n.mk:

DEBUG :=2

这时也要注意:不要看到这里是2就表示都会打印,我现在遇到一个项目虽然在\lk\project\rlk6757_66_n.mk文件中配置了DEBUG :=2,但log并没有打印出来,原因最后找到了:

#ifdef LK_PROFILING
dprintf(INFO, "[PROFILE] ------- WDT Init takes %d ms -------- \n", (int)get_timer(time_wdt_early_init)); //打印不出来
#endif

最后发现在类似的bootable\bootloader\lk\target\rlk6757_66_n(project)\rules.mk中:

LK_PROFILING := no //LK_PROFILING := yes 一般项目都会使这个宏,所以之前并没有太关注,后续项目可能会为了性能,把log后期以这种方式关掉,注意一下

法②、在lk\include\platform\debug.h中定义了这个函数:

void debug_set_trace_level(int trace_type, int level); //设置调试级别

法③、还有在具体的代码中:如:

#define DEBUG //这里定义了这个宏

#ifdef DEBUG //判断是不是定义了,定义了就执行下面的
#define LCM_DEBUG(fmt, args...) _dprintf(fmt, ##args)

#else
#define LCM_DEBUG(fmt, args...) do {} while(0)

#endif

printk日志打印級別

#define   KERN_EMERG     "<0>"      系统崩溃
#define   KERN_ALERT     "<1>"     必须紧急处理
#define   KERN_CRIT      "<2>"      临界条件,严重的硬软件错误
#define   KERN_ERR       "<3>"      报告错误
#define   KERN_WARNING   "<4>"        警告
#define   KERN_NOTICE    "<5>"      普通但还是须注意
#define   KERN_INFO      "<6>"          信息
#define   KERN_DEBUG     "<7>"     调试信息

#通过输入命令设置printk打印输出log的等级
echo "1 2 3 4" > /proc/sys/kernel/printk

分别表示:
1:当前控制台日志级别 ,第一个参数设置为1表示 KERN_ALERT     
2:默认消息日志级别
3:最小的控制台级别
4:默认控制台日志级别


http://www.ppmy.cn/news/415931.html

相关文章

MT6735 呼吸灯不亮的问题

这两天遇到个奇怪的问题&#xff0c;手机电量低于15%的时候&#xff0c;只会弹出低电量的提示框&#xff0c;低电量指示灯并没有闪烁。 查看log01-01 00:02:36.294016 1253 1286 D lights : set_led_state colorRGBFFFF0000, onMS125, offMS2875 01-01 00:02:36.294087 125…

MT6735(Android5.1)的按键GPIO配置

一&#xff0c;MT6735的按键键值表。 二&#xff0c;键值检测原理 没有按键按下的状态&#xff0c;ROW为输出&#xff0c;COL为输入&#xff0c;所有ROW线设为低电平&#xff0c;所有CLO线设为高电平。 当按键按下时&#xff0c;比如key10(ROW1,COL2)按下&#xff0c;COL2线被拉…

MTK-MT6735-camera新加模组调试总结

记录下MTK6735 添加新的camera模组调试过程 1、第三方提供kernel的驱动代码以及hal层的效果代码。 kernel代码拷贝到&#xff08;比如&#xff09;kernel-3.18/drivers/misc/mediatek/imgsensor/src/mt6735/sc2232_mipi_raw_sub/ hal代码拷贝到&#xff08;比如&#xff09;…

mt6735 ALSA Driver内部功放如何切到CLASSD

[DESCRIPTION] MT6735 ALSA Driver内部功放如何切到CLASSD [SOLUTION] 请直接修改mTK_soc_codec_63xx.c static int Speaker_mode AUDIO_SPEAKER_MODE_AB ; //此处修改为AUDIO_SPEAKER_MODE_D 拨打10011联通充值,提示密码错误,充值失败. 移动充值是ok,这与联通基站. 原因是因为…

MT6735/mt8735 HDMI开发板资料介绍

MT6735/mt8735 HDMI&#xff1a; 资料内容包括&#xff1a; ▪ 介绍 ▪ HDMI特点 ▪ 硬件连接 ▪ 软件概述 ▪音频BCK配置 ▪ 驱动配置 ▪SW定制 ▪ Release ▪ FAQ 介绍&#xff1a; MT6735 HDMI由配套芯片MT8193实现&#xff0c;视频数据采用DPI I/F&#xff0c;音频数据采…

MT6735 L版本开机待机后概率性唤醒不了

MT6735 L版本开机待机后概率性唤醒不了&#xff0c;按power key唤醒不了&#xff0c;然后就会进入到一个黑色界面提示一堆信息“kernel-oops*******”&#xff0c;然后过几十秒后就会重启。. 问题来源&#xff1a;一牛网论坛 答案链接&#xff1a;MT6735

MT8735和MT6735处理器的区别解析

MT8735和MT6735的区别&#xff1f; 从字面上理解&#xff0c;区别在于一个是8系列和一个是6系列。 在挖深一点&#xff0c;就是在联发科处理器里&#xff0c;6系列是用于手机行业&#xff0c;8系列是用于平板。 从深层次理解&#xff0c;主要就是手机和平板的特性差别&#…

MTK MT6735 PCB设计规范资料分享

MT6735 PCB设计规范: 本篇资料内容包括: 概述 封装 • 6735芯片外形尺寸 • MT6735 Footprint设计 • MT6735重要信号分布图 一般设计建议 • 叠构(PCB stack‐up))建议建议 • Common Rules and Via Type • Placement Notes • MT6735 fan out High‐Spee…