当前位置:首页 > 芯闻号 > 充电吧
[导读]      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。



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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭