多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

大型量产固件的工程实践(七·实战):分级日志系统实现源码与使用范例

大型量产固件的工程实践(七·实战):分级日志系统实现源码与使用范例 大型量产固件的工程实践(七·实战):分级日志系统实现源码与使用范例本文是《大型量产固件的工程实践》专栏第 7 篇《嵌入式调试日志系统设计》的实战姊妹篇。上一篇:第 7 篇《嵌入式调试日志系统设计》 | 下一篇:第 8 篇《多款同类型芯片驱动的统一抽象》本文给出一个完整可用的分级日志系统:分级 + 分模块过滤 + 循环缓冲 + 多通道输出。源码已做通用化处理(标准类型 + 通用命名),可直接使用。一、这套日志系统解决了什么上一篇讲了日志系统的四个要素:分级、分类、可开关、可替换。这套实现把它们全部落地,并额外解决了两个实际问题:循环缓冲:日志先写入 2KB 环形缓冲,需要时再一次性读出——避免高频日志直接刷串口拖慢系统;自动定位:每条日志自动带上[函数名:行号],出问题一眼定位。核心机制一览:TRACE(lv, part, "fmt", ...) │ ▼ 分级/分模块过滤(位掩码)──不通过──▶ 丢弃 │通过 ▼ vsnprintf 格式化 │ ▼ 写入循环缓冲(临界区保护) + 可选实时输出到串口/网络
返回列表