当前位置:首页 > > 充电吧
[导读]      SEGGER的Real Time Transfer (RTT)是一项新技术,可以在嵌入式应用中进行用户I/O交互。它结合了SWO和半主机的优点,具有极高的性能。它的主要特点有 可以与目

      SEGGER的Real Time Transfer (RTT)是一项新技术,可以在嵌入式应用中进行用户I/O交互。它结合了SWO和半主机的优点,具有极高的性能。它的主要特点有

可以与目标应用进行双向通信 极高的传输速率,同时不影响应用的实时响应 在目标板上不需要额外的硬件或引脚 在任何J-Link模式下都能正常使用 ARM Cortex-M0/M0+/M1/M3/M4/M7和Renesas RX100/200/600都支持该功能有完整的代码来提供需要的功能和灵活的自由度

 

什么是RTT?

       在不影响目标实时响应的情况下,RTT可以从目标MCU快速输出信息,也可以发送信息给目标应用。SEGGER RTT可以用在任何J-Link模式下(具体模式见https://www.segger.com/jlink-debug-probes.html)。可以在支持后台存储器访问的处理器如Cortex-M及RX系列上运行。

RTT支持双向多通道通信,可用于不同目的并为用户提供了灵活的自由度。默认情况下两个个方向分别使用一个通道,用于终端输入和输出。利用J-Link RTT Viewer 上位机软件,这个通道可以用于多个虚拟终端,允许打印到多个窗口但仅仅利用了一个目标缓冲区。(例如一个用于标准输出,一个用于错误输出,一个用于调试输出)。上传通道可以用于发送事件追踪数据。




RTT通信?

在目标应用中使用RTT是非常简单的。具体的实现代码可以自由下载并集成到目标应用中。你可以利用任何J-Link与RTT进行通信。

J-Link软件包中有更多适用于不同目的高级应用。

J-Link RTT Viewer


J-Link RTT Viewer是主要的windowsGUI,可以使用RTT的全部功能。RTT Viewer可以单独使用,与J-Link及目标板建立自己的连接。也可以在调试状态下与调试接口并行运行。 RTT Viewer支持RTT的主要特性:

在通道0上终端输出发送文本到通道0只有一个目标通道的情况下具有高达16个虚拟终端在任何J-Link模式下都能正常使用控制文本输出:给文本着色,擦除控制台在通道1上记录数据...

J-Link RTT Viewer的完整文档请参考J-Link用户手册(UM08001),  RTT章节。

J-Link RTT Viewer是J-Link软件文档包的一部分,可以免费获取。


J-Link RTT Client

J-Link RTT客户端作为一个远程登陆客户端,当调试部分关闭时可以自动重建J-Link连接。J-Link RTT客户端也是J-Link软件文档包的一部分,可以用于简单的RTT应用场景。

J-Link RTT Logger

利用J-Link RTT采集器,可以读取上传通道1的数据并记录到一个文件中。这个通道可以用来向主机发送性能分析数据。J-Link RTT采集器与J-Link建立特定的连接,可以被单独使用,不需要运行调试器。


RTT是如何工作的?

        实时传输利用了目标存储器上的SEGGER RTT 控制块来管理数据的读写。控制块包含有一个ID号,这样接上J-Link之后,就可以在存储器中发现控制块并且每个通道都有一个环形缓冲区结构,用来描述通道缓冲区及其状态。最大的通道数可以在编译时进行配置,应用运行时也可以配置及添加缓冲区,而且上传和下行的缓冲区可以分开处理。每个通道都可以配置成阻塞和非阻塞模式。在阻塞模式下,当缓冲区满的时候,应用将进行等待,直到所有的存储器都可以写入,这将导致应用进入阻塞状态,但可以防止数据丢失。在非阻塞状态下,只有适合缓冲区的数据才能被写入,或者没有数据写入缓冲区,其它的数据将被丢弃。这将使应用实时运行,即使不连接调试器也可以。这样开发者就不必创建特定的调试版程序,这些代码可以保留在发布版程序中。







        当RTT在主机上激活时,不管是使用RTT Viewer还是通过Telnet 连接应用,J-Link都会自动在目标已知的RAM区搜索SEGGER RTT 控制块。当不能自动发现控制块时,主机应用可以设置控制块所处的RAM区,从而加速检测。

      左图显示了控制块在目标应用中的简单结构。上传和下行的Buffer可能有多个,每个Buffer的大小都可以单独配置。Buffer中的灰色区域包含了有效数据。对于上传Buffer来说,写指针由目标应用来负责,读指针由调试探针(J-Link,host)来写入。读写指针指向同一位置时,缓冲区为空。这样就不会产生竞争情形。

       SEGGER RTT 除了J-Link及标准调试端口之外,不需要任何额外的引脚或硬件。它不需要对目标板及调试环境进行任何的配置。RTT在程序调试期间也可以运行,不需要其它的开发环境或者调试器。

       SEGGER RTT向外输出数据时非常快,显著高于其它方式。实际运行效果如下:











RTT数据输出到主机端的最大速度取决于目标缓冲区的大小及接口速度。即使目标缓冲区只有512字节,在高端J-Link模式下,RTT速度也可以达到>1 MByte/sec,而基本J-Link模型的速度也有 0.5 MByte/sec。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭