技术专栏
EasyLogger 移植(裸机和操作系统)
无操作系统移植
新建工程
无操作系统、配置了串口,重定向了printf
移植
- 2、将
\easylogger\(里面包含inc、src及port的那个)文件夹拷贝到项目中; - 3、添加
\easylogger\src\elog.c、\easylogger\src\elog_utils.c及\easylogger\port\elog_port.c这些文件到项目的编译路径中(elog_async.c 及 elog_buf.c 视情况选择性添加); - 4、添加
\easylogger\inc\文件夹到编译的头文件目录列表中;
无操作系统下,异步输出是无法用的,因为没有线程,但缓存输出是通过分配一个RAM缓冲区,所以可以使用。所以不用加入elog_async.c

关掉异步输出,开启异步需要自己写一下创建线程函数
这里关闭不用
默认都是开启的,缓存输出会等到缓冲区满时才会去输出,当然也可以通过api刷新缓冲区来立即输出,这里把缓冲输出也关掉,就用普通输出,立即输出
配置port
配置这个就可以使用了,就用官网的例程就行
https://github.com/armink/EasyLogger/blob/master/demo/os/windows/main.c
只配置这个output接口就可以简单输出了,异步之类的要配置好其他接口
RTOS移植



EasyLogger任然要上锁,RTT锁保护的是他写入内存,EasyLogger上锁保护的是他自己的,到调用output前都是要保护的。
EasyLogger输出到RTT
EasyLogger只是逻辑,最终输出看接口

即可
使用
elog_init(): 初始化 EasyLogger 内部资源(缓冲区、锁等)。
elog_set_fmt(uint8_t level, uint32_t set): 设置不同级别的日志显示哪些内容(如:是否带时间、带标签、带颜色)。
elog_start(): 正式启动日志输出。必须调用这个,log 才会吐出来。
elog_async_enabled(bool enabled): (RTOS 模式下) 开启或关闭异步输出模式。
定义LOG_TAG,注意C语言是单文件编译
定义位置: C文件必须在#include <elog.h>之前定义 LOG_TAG。
可以在每个模块.c文件中定义LOG_TAG
elog_i和log_i功能上基本一样,通过宏定义,
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
1
1
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据相关专栏
-
浏览量:3364次2020-08-20 18:02:29
-
浏览量:5460次2021-07-09 13:47:54
-
浏览量:3927次2019-06-27 17:17:50
-
浏览量:2694次2020-02-12 10:33:39
-
浏览量:2328次2020-03-18 09:57:46
-
浏览量:2537次2023-11-22 18:08:25
-
浏览量:2048次2023-11-23 11:04:00
-
浏览量:2517次2019-06-04 09:25:24
-
浏览量:2316次2024-01-10 17:34:04
-
浏览量:6080次2023-11-21 15:13:42
-
浏览量:3129次2022-10-19 11:34:08
-
浏览量:3284次2023-11-21 14:08:47
-
浏览量:5030次2023-11-21 11:03:58
-
2024-11-10 09:56:53
-
浏览量:2610次2019-12-20 09:08:35
-
浏览量:3606次2018-10-01 12:59:37
-
浏览量:1747次2023-07-26 09:40:01
-
2023-12-06 11:28:37
-
浏览量:2845次2024-01-10 17:23:08
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
天空
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注

微信扫码分享
QQ好友