Demo:helloworld

来自Bouffalo Lab Docs
武楷轩留言 | 贡献2025年8月4日 (一) 09:09的版本 (创建页面,内容为“=== Demo介绍: === 该demo测试基本日志等级输出,该Demo是对bflog加了一层封装,比如控制日志输出等级,控制是否使用严重等级颜色输出。 保存路径: bouffalo_sdk/examples/helloworld 在当前默认情况下的输出如下:<syntaxhighlight lang="bash" line="1"> =========================== uart sig1:ffffffff, sig2:0000f32f clock gen1:9ffffffd, gen2:0fff0c11 xtal:40000000Hz(crystal) board init done ==============…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

Demo介绍:

该demo测试基本日志等级输出,该Demo是对bflog加了一层封装,比如控制日志输出等级,控制是否使用严重等级颜色输出。

保存路径: bouffalo_sdk/examples/helloworld

在当前默认情况下的输出如下:

===========================
uart  sig1:ffffffff, sig2:0000f32f
clock gen1:9ffffffd, gen2:0fff0c11
xtal:40000000Hz(crystal)
board init done
===========================
[F][MAIN] hello world fatal
[E][MAIN] hello world error
[W][MAIN] hello world warning
[I][MAIN] hello world information
hello world fatal raw
hello world error raw
hello world warning raw
hello world information raw

通过代码对应可以看到部分代码没有输出,部分代码有颜色而部分代码没有颜色。 没有输出的部分是因为 LOG_LEVEL 的定义级别导致没有输出:

#if (CONFIG_LOG_LEVEL >= 4)
#define LOG_D(...)  BFLOG_D((void *)&__bflog_recorder, __VA_ARGS__)
#define LOG_RD(...) BFLOG_RD((void *)&__bflog_recorder, __VA_ARGS__)
#else
#define LOG_D(...)  ((void)0)
#define LOG_RD(...) ((void)0)
#endif

#if (CONFIG_LOG_LEVEL >= 5)
#define LOG_T(...)  BFLOG_T((void *)&__bflog_recorder, __VA_ARGS__)
#define LOG_RT(...) BFLOG_RT((void *)&__bflog_recorder, __VA_ARGS__)
#else
#define LOG_T(...)  ((void)0)
#define LOG_RT(...) ((void)0)
#endif

是否有颜色则取决于是否带有R,在引用文件中可以看到:

#define BFLOG_RF(_log, ...) BFLOG_X(_log, BFLOG_LEVEL_RAW | BFLOG_LEVEL_FATAL, (BFLOG_TAG), ##__VA_ARGS__)

以上配置可以在同级目录下的 proj.conf 中。