对于开发嵌入式系统的工程师来说,log功能无疑是非常重要的功能模块。这里讲讲嵌入式系统log模块的基本设计框架。
1、可以方便设置从不同的硬件接口输出 log,比如USB、不同的串口。
2、log系统需要支持区分软件模块和log level,支持通过简单的配置,开启或者关闭不同模块、不同level的log输出。
通过PC工具可以修改这些配置。这些配置要修改到嵌入式终端,并让嵌入式终端在log API函数中尽可能早位置就判断开关设置。
3、对于assert的处理,对于调试版本是死机进入调试模式,对于量产版本应该是重启。
4、log模块对外提供的API应该是简单而且统一的,上述第1点设置不应该影响API。
5、如果可以,log模块还需要支持可扩展的命令机制。
就是说,通过接收PC端的命令,可以修改嵌入式终端的某些配置,让终端执行某些操作。