之前在Memfault的博客上发现了一个很有意思的日志库Trice。它专为嵌入式设备设计输出日志体积小型且可以以极高速率输出日志。作者号称在不输出时间戳的情况下可以用四条指令即可完成打日志,原因在于它并不会直接输出某个字符串,而是给每个字符串预先分配一个独一无二的ID(当然这部分在代码生成的时候完成),在打日志时候真正输出的是ID,通过上位机的程序解析输出。同样也具有printf格式化字符串的功能。
使用方式
串口
作为测试在这里也稍微提一下串口的使用方式。在代码配置中作者给出了阻塞非阻塞输出,前者直接等待输出完成,后者则是将输出内容写在缓冲区内等待空闲时输出,而硬件上目前只有串口和RTT,具体可以在triceConfig.h
中修改TRICE_MODE
完成