当前位置: 首页 > news >正文

移植easylogger通过J-Linker的RTT输出日志/Ozone的RTT设置

移植easylogger

什么是easylogger

     easylogger:是一款超轻量级高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如: IoT 产品、可穿戴设备、智能家居等等。

移植流程

1.先去↓地址下载源码GitHub - armink/EasyLogger: An ultra-lightweight(ROM<1.6K, RAM<0.3k), high-performance C/C++ log library. | 一款超轻量级(ROM<1.6K, RAM<0.3k)、高性能的 C/C++ 日志库

2.通过下面说明来逐步移植

不喜欢看官方移植流程的可以看看我的理解

3.首先移植这么才算初步成功?

讲移植文件都添加进来烧录编译没错误就是初步成功,原理是下面👇

移植的本质是什么-CSDN博客

4.开始初步移植

我先将新建一个工程,讲源码解压丢进去

后面我们打开keil将圈出的源文件(.C)添加到keil目录中,然后将.h文件添加头文件索引

添加头文件路径

添加完成开始直接编译文件,处理错误,很好有四个错误

这种Undefine symbol的错误就是变量未声明,一般是没有引用相对头文件/没添加相对于.c文件/或者是有些宏没开启

我们先全局查找,有意思的来了,我们发现他引用了外部函数声明了宏定义启用函数,同时我们也没有添加async文件

我们跳转这个宏定义看看,发现需要开启异步可以开启这个宏,我们这里不开启,对我们移植不影响,先把这个宏注释掉

好现在只有两个错误了(如果你选择开启,你可以添加那个源文件,同样错误会减少),我们故技重施

和之前的错误一个情况,我们选择不开这个buffer

我们选择注释掉,后继续编译,现在只有四个警告

意思就是这四个函数,需要我们自己配置返回值,我们这里都设置为返回空字符

下面这样就不会报警高了

最后这两个函数添加开启和关闭全局中断函数,对日志输出方法进行加锁,保证日志在并发输出时的正确性。有操作系统时可以使用获取信号量来加锁,裸机时可以通过关闭全局中断来加锁。这样我们初步移植就完成了。

5.进一步移植

这一步我们需要自己填充内容信息,来开始使用easylogger

如果你时候没思路怎么使用,我们可以以前看看,官方提供的demo我们一起参考来写出

我们打开demo拆解一下发现很简单,但是我们需要改一些,输出选择用J-link的RTT输出

我们将不需要修改的复制到我们项目里面,看着不错,现在还缺少配置输出

开始配置RTT,那么RTT怎么获取?

在我们下面的J-link驱动里面就有,直接解压复制到项目文件夹里面

添加源文件和路径,编译不报错

然后我们配置直接在输出里面配置RTT输出即可,主函数里面也无须配置启动,因为这个输出函数包含初始化了(如果是自己用串口输出,这里只要匹配好即可,能把API接口的数据处理不在乎形式这就是移植的关键)

这些配置好后打开J-Link RTT Viewer软件,只要安装了驱动都有,直接电脑里面搜,选择自己的芯片类型,和连接方式,直接在keil中烧录

这就是最后的现象了,用RTT输出了easylogger的日志

相关文章:

  • sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
  • 【嵌入式开发-USB】
  • RabbitMQ--基础篇
  • Crawl4AI:高效的开源 Python 网页爬取与数据提取库
  • 【5G通信】redcap和bwp 随手记
  • 论文速读《DARE:基于扩散模型的自主机器人探索新范式》
  • debian12 安装docker
  • 多模态大语言模型arxiv论文略读(六十四)
  • 美团二面:使用分布式调度框架该考虑哪些问题?
  • 【Java ee 初阶】文件IO和操作(下)
  • 【Java ee 初阶】文件操作和IO(上)
  • 企业级可观测性实现:OpenObserve云原生平台的本地化部署与远程访问解析
  • COLT_CMDB_linux_userInfo_20250508.sh修复历史脚本输出指标信息中userName与输出信息不一致问题
  • 解构语言模型推理过程,超越最终答案:通过分析子思考路径提升大语言模型推理准确性的方法研究
  • Python3正则表达式:字符串魔法师的指南[特殊字符]‍♂️
  • 《Scala基础》
  • flink超时未揽收单量统计
  • 华为首款鸿蒙电脑正式亮相,开启国产操作系统新篇章
  • 多线程初阶(2)
  • 长难句。。
  • 阿里CEO:将以饱和式投入打法,聚焦几大核心战役
  • “三德子”赵亮直播间卖“德子土鸡”,外包装商标实为“德子土”
  • “半世纪来对无争议边界最深入袭击”:印巴冲突何以至此又如何收场?
  • 中国人民银行:5月8日起降息,15日起降准
  • 中方对原产印度进口氯氰菊酯实施反倾销措施,商务部回应
  • 五一假期上海边检查验出入境人员超61万人次,同比增长23%