EasyLogger 移植(裸机和操作系统)

EasyLogger 移植(裸机和操作系统) 天空 2026-10-02 16:12:57 46

无操作系统移植

新建工程

无操作系统、配置了串口,重定向了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只是逻辑,最终输出看接口


即可


使用

  1. elog_init(): 初始化 EasyLogger 内部资源(缓冲区、锁等)。

  2. elog_set_fmt(uint8_t level, uint32_t set): 设置不同级别的日志显示哪些内容(如:是否带时间、带标签、带颜色)。

  3. elog_start(): 正式启动日志输出。必须调用这个,log 才会吐出来。

  4. 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个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
关于作者
天空

天空

暂无个性签名~

原创1
阅读47
收藏1
点赞1
评论0
打赏用户 共 0 位
我要创作
分享技术经验,可获取创作收益
分类专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
天空
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
元
红包最小金额不能低于5元
红包数量
个
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

开

已领取20/40,共1.6元 红包规则

    易百纳技术社区