Segger RTT调试工具的使用方法
上一期现已跟着小编介绍的装置过程,信任咱们都现已开始运用了Segger Ozone调试工具。那么今日小编持续抓住时机,给咱们介绍另一个Segger推出的调试辅助工具Segger RTT。
Segger RTT(Real。 Ti。me Transfer)是一款由SEGGER公司开发的。嵌入式体系。监控和交互工具,首要用于。嵌入式。运用程序中的实时数据传输和调试。
界说与功用:
RTT是一种用于嵌入式体系的实时传输技能,能够在不影响嵌入式运用实时行为的情况下,完成高速双向。通讯。。它不仅能够输出调试信息,还能够从外部输入操控指令,支撑多个通道用于不同意图。
兼容性:
RTT支撑多种。单片机。架构,包含。ARM。Cortex-A/R/M系列芯片,以及。RISC-V。和Rene。sas。RX等。
首要特点:
高速传输速率:RTT运用调试通道进行通讯,不占用额定的GPIO等外设。接口。,因而传输速率极快,不会影响嵌入式运用的实时行为。
双向通讯才能:RTT具有与方针嵌入式运用的双向通讯才能,既能够输出调试信息,也能够接纳外部操控指令。
多通道支撑:RTT在两个传输方向上支撑多个通道,每个通道可用于不同的意图,如规范输出、过错输出、调试输出等。
易用性:RTT的完成代码能够免费下载,而且能够轻松集成到任何现有的运用程序中。经过在PC上运用J-Link RTT Viewer工具,用户能够方便地检查和办理多个虚拟终端。
运用场景:
代替串口调试:RTT能够代替传统的串口调试方法,节约串口资源,并下降串口打印对体系实时性的影响。
中止打印:RTT支撑在中止中打印信息,这是传统printf函数无法完成的。
多渠道支撑:RTT不依赖。操作体系。,能够在裸机上运转,并支撑多种终端。端口。运用。
实时数据读写办理:根据方针。MCU。内存中的RTT操控块结构体,RTT能够完成实时数据读写办理。
接下来介绍下RTT的。作业原理。,简略来讲RTT的作业中心是一个坐落。RAM。中的操控块结构,以及一个。环形。缓冲区来处理每个通道的每个装备方向(上行/下行)。每个缓冲区都能够在运转时由运用程序装备和增加。每个通道能够装备为堵塞或非堵塞形式。示意图如下:
在Zephyr中增加RTT也能够说是一步到位,得益于Zephyr的软件结构,咱们只需要经过翻开几个kConfig文件的变量即可:
CONFIG_。UART。_CONSOLE=n。 CONFIG_RTT_CONSOLE=y。 CONFIG_USE_SEGGER_RTT=y。 CONFIG_SHELL_B。AC。KEND_RTT=y。 |
经过翻开这几个装备变量,从头编译Zephyr代码,当咱们想要经过调用printk来打印时,即可完成经过Segger RTT来进行输出:
让咱们来看下详细完成,经过单步调试,翻开printk的源代码,咱们能够看到,其底层实际上调用的是SEGGER_RTT_Wri。te。()函数: 这样一来,咱们就能够省掉一个uart口,只经过Jlink这个调试端口进行log信息的打印。以避免某些时刻灵敏代码在运转时受到影响。
内容来源:https://congtytkp.com.vn/app-1/xổ số phú yên ngày 18 tháng 7,http://chatbotjud.saude.mg.gov.br/app-1/truco-online-grátis
(责任编辑:社会)