一、写在前面
本文对【printf系列教程】做了整理并汇总,会随着该系列教程的更新而更新。
为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程也同步更新于微信公众号【嵌入式专栏】,关注微信公众号回复【printf系列教程】即可查看。
作者:strongerHuang
本文对【printf系列教程】做了整理并汇总,会随着该系列教程的更新而更新。
为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程也同步更新于微信公众号【嵌入式专栏】,关注微信公众号回复【printf系列教程】即可查看。
SWO:Serial Wire Output,串行线输出
RTT:Real Time Transfer,实时传输
前面SWO文章,实现原理是通过MCU的SWO引脚输出信息(到显示终端SWV)。
而本文讲述的RTT不需要通过额外SWO引脚,即可实现printf输出,而且性能(耗时)远高于SWO。
SWD:Serial Wire Debug,串行线调试
SWO:Serial Wire Output,串行线输出
SWV:Serial Wire Viewer,串行线查看器
ITM:Instrumentation Trace Macrocell,指令跟踪宏单元
SWO串行线输出是单引脚、异步串行通信,可在Cortex-M3/M4/M7上使用,并由主调试器探测支持。
它是利用Cortex内核中ITM模块来实现此功能。
SWD:Serial Wire Debug,串行线调试
SWO:Serial Wire Output,串行线输出
SWV:Serial Wire Viewer,串行线查看器
ITM:Instrumentation Trace Macrocell,指令跟踪宏单元
SWO串行线输出是单引脚、异步串行通信,可在Cortex-M3/M4/M7上使用,并由主调试器探测支持。
它是利用Cortex内核中ITM模块来实现此功能。
SWD:Serial Wire Debug,串行线调试
SWO:Serial Wire Output,串行线输出
SWV:Serial Wire Viewer,串行线查看器
ITM:Instrumentation Trace Macrocell,指令跟踪宏单元
SWO串行线输出是单引脚、异步串行通信,可在Cortex-M3/M4/M7上使用,并由主调试器探测支持。
它是利用Cortex内核中ITM模块来实现此功能。
SWD:Serial Wire Debug,串行线调试
SWO:Serial Wire Output,串行线输出
SWV:Serial Wire Viewer,串行线查看器
ITM:Instrumentation Trace Macrocell,指令跟踪宏单元
SWO串行线输出是单引脚、异步串行通信,可在Cortex-M3/M4/M7上使用,并由主调试器探测支持。
它是利用Cortex内核中ITM模块来实现此功能。
很多初学者习惯使用软件仿真,比如Proteus,应该是很多人都知道的一款仿真软件。
以前开发板相对较贵,且快递不方便,使用仿真软件可以理解。现在便宜的STM32开发板就十几块,还用仿真软件,我不是很理解。
有经验的人都知道,仿真和实际运行情况很多时候都不一样,相信不用我说,大家都明白。
因此,我个人不是很推荐大家仿真,本文内容可能存在纰漏,仅限个人学习。
下面讲述基于Keil MDK-ARM 和 IAR EWARM进行仿真打印的配置。
在学习MCU时,使用UART串口输出,算是最基础的知识。
因此,通过串口映射实现printf也是最常见的方法。
本文针对初学者,讲述基于STM32在Keil、 IAR中实现printf输出的配置。
在已有UART收发工程的基础上,只需要两步就可实现printf打印输出:
·使用微库
·串口映射
在MCU项目中,printf主要用于打印输出一些调试信息。比如:程序执行出错,输出相关错误提示信息。
前面在我公众号『strongerHuang』分享文章《基于STM32的多种printf用法》之后,大家反响还不错。
不过那篇文章只是简单写了一下,很多人觉得可以,索性就整理成更加详细的专栏文章。
目前整理了几篇文章:
printf系列教程01_UART打印输出配置,基于STM32(Keil、IAR)
printf系列教程02_仿真打印输出配置,基于STM32(Keil、IAR)
printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』,STM32(ST-Link、J-Link)
printf系列教程04_SWO打印输出配置,基于IAR『Terminal IO』,STM32(ST-Link、J-Link)
printf系列教程05_SWO打印输出配置,基于ST-LINK Utility『Serial Wire Viewer』,STM32(ST-Link)
printf系列教程06_SWO打印输出配置,基于J-Link『SWO Viewer』,STM32(J-Link)
printf系列教程07_JLink-RTT打印输出配置,基于J-Link『RTT Viewer』,STM32(Keil、IAR)