255_S32K144_一个pritnf功能的实现测试与分析

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

    继续学习S32K144,今天来看一个我个人觉得算是很有意义的功能:printf函数的实现。为什么我觉得这个有意义呢?其实,我觉得只要有这么一个函数,我们的很多软件就有了调试的可行性。据说,ken老爷子的软件调试也仅仅是一个printf而已。

    嵌入式的printf,我熟悉的基本上有两个:1,半主机模式;2,使用串口。我个人其实很久之前也实现了一个基于CAN的printf,但是,中间其实也经过了一个转串口信号的过程。

    这一次,我看到的这个例程来源:https://community.nxp.com/docs/DOC-335240

    从功能介绍看,这个实现已经远远超出我的需求了。做的确实是比较完善,我把软件编译烧录测试了一下,示例工程运行也比较稳定。

255_S32K144_一个pritnf功能的实现测试与分析_第1张图片

    出于自己的习惯,我并没有使用上面链接提到的串口工具。

255_S32K144_一个pritnf功能的实现测试与分析_第2张图片

    这个是他实现的命令模式,做几个测试看看。

255_S32K144_一个pritnf功能的实现测试与分析_第3张图片

    获取了heap的使用信息,没想到这里还有一个CPU的负荷率的计算。回头我倒是可以参考一下,也用一下他的这种监控方式。

255_S32K144_一个pritnf功能的实现测试与分析_第4张图片

    这个是帮助命令。

255_S32K144_一个pritnf功能的实现测试与分析_第5张图片

    退出之后,软件继续执行。

    体验下来,如果一个嵌入式的硬件上带有串口工具,的确是一个廉价且有效的监控手段。而且,大量的监控工具可以使用。只可惜,我现在的软件开发过程中确实是缺少这样的手段。

    接下来,看看这个串口打印功能的实现,至于扫描功能,我暂且不做分析,这部分我不是特别有高需求。

255_S32K144_一个pritnf功能的实现测试与分析_第6张图片

    从代码分析,这个实现算是实现printf的关键。其中,第一个参数是没有用到的。看起来,接下来如果我想实现我的功能,只需要做一个类似的实现即可。如果我要是尝试实现的话,这个功能可能会稍微改一下。最起码,我会把这个发送成功的等待给去掉,这样的话不会引起阻塞。

    总得说来,这个测试还是有用的。上面的代码在我公布的连接中也已经存在了,我也就不做分享处理了。

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

你可能感兴趣的:(S32K,嵌入式)