1. 初始化MCU这边的串口,配置时钟频率,配置对应的输出管脚,配置波特率等等;
2. 打开PC端的串口调试工具,配置好对应的波特率;
3. 调用UART驱动,例如read\write之流,发送数据;
4. 在串口调试工具上查看;
RTT允许开发人员在不使用操作系统的情况下,通过J-Link调试器实时传输数据到主机,并从主机实时接收数据,从而实现实时的调试和跟踪功能。J-Link RTT的主要特点包括:
低开销:J-Link RTT实现了高效的数据传输机制,可以在不影响目标系统性能的情况下实现实时数据传输。
实时性:开发人员可以在目标系统上实时地输出调试信息,或者从目标系统上实时地接收数据,而无需停止目标系统的运行。
灵活性:J-Link RTT支持多个通道,可以同时传输多个不同类型的数据,例如调试信息、日志、性能指标等。
无需目标系统操作系统支持:与类似于printf输出的调试信息不同,J-Link RTT可以在没有操作系统支持的嵌入式系统上使用。
J-Link RTT通常与J-Link调试器和SEGGER公司的嵌入式开发工具配合使用,为嵌入式系统的调试和跟踪提供了强大的支持。它在嵌入式系统开发中被广泛应用,特别是在没有操作系统支持或者操作系统功能有限的嵌入式系统中,为开发人员提供了一种高效的调试和跟踪解决方案。
1. 新建Group添加如下文件,文件都在SDK解压路径\components\rtt中:
2. 添加头文件依赖: 3. 在hello_world.c中添加引用:
4. 创建up/downBuffer:
uint8_t rx_buffer[32], tx_buffer[32]; SEGGER_RTT_ConfigUpBuffer(0, SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", tx_buffer, |
5. 使用RTT发送:
SEGGER_RTT_SetTerminal(0); SEGGER_RTT_printf(0, "hello world\r\n"); |
创建工作就已经完成了,接下来就是PC端的工作,打开J-Link RTT Viewer,选择器件为rt1060,这里要注意选择RTT control Block的地址,和代码一致:
点击OK,打开:
下载程序运行,打开一个Terminal 0,即可查看运行结果:
相较于传统的UART方式,采用调试器内置的RTT功能进行数据通信,不仅免除了对宝贵串口资源的占用,还大大简化了编程实现流程,实现效率和便捷性的双重飞跃!可以让开发者轻松享受调试过程中的流畅与高效,强烈推荐大家亲自感受!
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
来自李肖遥 技术让梦想更伟大公众号