作者|内置嵌入式列嵌入式软件将基本上打印出数据。
最常见的一种是串行端口打印输出。
如果我们手上没有232-to-USB或TTL-to-USB工具,那么使用J-Link工具还可以实现串行端口打印和输出数据的功能。
我们来谈谈如何使用J-link的“ RTT Viewer”实现打印输出的功能:1概述SWO:串行线输出,RTT:实时传输,实时传输上一篇SWO文章,实现原理是通过MCU的SWO引脚输出信息(至显示端子SWV)。
本文介绍的RTT不需要额外的SWO引脚即可实现printf输出,并且其性能(耗时)比SWO更高。
2关于RTT SEGGER实时传输(RTT)是一种用于在嵌入式应用程序中实现交互式用户I / O的技术。
它结合了SWO和半主机的优势,并具有高性能。
使用RTT,您可以从目标微控制器输出信息,并以很高的速度将输入发送到应用程序,而不会影响目标的实时性能。
Cortex-M0不支持SWO,而本文所述的RTT支持Cortex-M0。
本文末尾提供了STM32F0项目。
3关于J-Link RTT Viewer J-Link RTT Viewer是Windows GUI应用程序,它在调试主机上使用RTT功能。
RTT Viewer可以独立使用,打开自己的与J-Link的连接,然后进行连接,并使用现有的J-Link连接与正在运行的调试会话的目标或并行位置。
RTT Viewer支持RTT的主要功能:·通道0上的端子输出·将文本输入发送到通道0·最多只有一个目标通道的16个虚拟终端·控制文本输出:彩色文本,擦除控制台·在通道1上记录的数据本文主要结合J-Link RTT Viewer进行介绍。
当然,有支持RTT的J-Link RTT客户端和J-Link RTT记录器。
有关更多相关介绍,请参阅:https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer 4要获取RTT源代码,我们需要添加该项目的RTT源代码。
同时,需要J-Link RTT Viewer支持。
J-Link / J-Trace下载地址(Windows版本):https://www.segger.com/downloads/jlink/JLink_Windows.exe安装后,RTT源代码包含在安装目录中:C:Program Files( x86)SEGGERJLinkSamplesRTT解压缩SEGGER_RTT_V ***。
zip后,将整个RTT目录的源代码复制到您的项目中。
提示:解压缩后,只需复制RTT目录。
4.1将RTT添加到项目中有两个主要步骤可将源文件添加到项目中:1.将源文件添加到项目中。
2.添加文件路径。
当然,我已经在下面添加了一个源代码项目。
4.2应用程序调用RTT的打印与常规printf相似。
添加头文件:#include“ SEGGER_RTT.h”然后调用SEGGER_RTT_printf函数以打印输出:此处SEGGER_RTT_printf与print不同:参数添加在前面。
(我们使用端子0)5RTT Viewer的配置和输出与先前描述的SWV查看器类似,可以输出与配置有关的信息。
安装目录:C:Program Files(x86)SEGGERJLink将程序下载到MCU,连接J-Link,打开安装目录下的J-Link RTT Viewer,配置参数:输出效果:6下载为了大家的方便,提供源代码项目下载,参考代码:STM32F051(HAL)_JLink-RTT STM32F103(HAL)_JLink-RTT百度网盘:https://pan.baidu.com/s/1aYBuHtOgtLqLvj6SsMYlQA提取代码:nbd3提示:1. The官方帐户不支持外部链接,请复制链接以在浏览器中打开。
2.源代码仅供个人学习参考,可能不适用于实际项目。
3.如果链接失败,请注意官方帐户并回复“ printf系列教程”。
获取最新链接。
7说明1.本文档仅用于个人学习,受版权保护,禁止用于商业用途。
2.本文是我自己编辑和整理的。
不可避免地会有一些错误。
免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!