SEGGER RTT Terminal 0!\r\n");SEGGER_RTT_SetTerminal(1);SEGGER_RTT_printf(0,RTT_CTRL_TEXT_GREEN"Hello, SEGGER RTT Terminal 1!\r\n");SEGGER_RTT_SetTerminal(2);SEGGER_RTT_printf(0,RTT_CTRL_TEXT_YELLOW"Hello, SEGGER RTT Terminal 2!\r\n");Delay_ms(1000);} ...
首先我们新建个log.h文件,把下面的内容放进去,这样就在RTT的print上面封装了一层。 #ifndef __LOG_H#define __LOG_H#include "SEGGER_RTT.h"#define LOG_DEBUG 1#if LOG_DEBUG#define LOG_PRINT(type,color,format,...) \ SEGGER_RTT_printf(0,"%s%s"format"%s", \ color, \ type, \ ##__VA_...
如上面的宏定义,我们在RTT_printf外面又套了一层壳子,除了我们原本打印的数据外,我们在增加了一头一尾,让我们打印的数据被两个特殊字符包裹起来。 从定义的命名中可以看出,前面的是color,颜色。后面的是一个特殊的控制字符RESET,表示这部分颜色结束了。 在RTT的宏定义文件中是这样定义的: 我通过C#调用了JLINKARM....
SEGGER_RTT_SetTerminal(0); SEGGER_RTT_printf(0, "Hello, SEGGER RTT Terminal 0!\r\n"); SEGGER_RTT_SetTerminal(1); SEGGER_RTT_printf(0, "Hello, SEGGER RTT Terminal 1!\r\n"); SEGGER_RTT_SetTerminal(2); SEGGER_RTT_printf(0, "Hello, SEGGER RTT Terminal 2!\r\n"); Delay_ms(1000...
SEGGER RTT SEGGER RTT (Real-Time Transfer)结合了以上所有方法的优点:无需额外引脚、无需占用外设、只需要SWD引脚就可以输出日志,并且速度快,不影响应用程序的实时性。 想想只用插一个Jlink就可以同时断点调试+输出日志,还是很爽的。 3 安装SEGGER Jlink驱动全家桶 ...
(1)SEGGER_RTT_ConfigUpBuffer() buffer index:通道需要配置。必须比SEGGER_RTT_MAX_UP_CHANNELS。 sName:指向一个以0结尾的字符串,该字符串将作为通道的名字被展示 pBuffer: 指向一个缓冲区被通道使用。 bufferSize:缓冲区的大小,单位字节 flags:通道的标志位:阻塞或者未阻塞 ...
segger_rtt 的工作原理主要基于两个核心组件:一个用于数据采集的硬件设备(通常是 USB 或串口设备),以及一个用于数据处理和分析的软件工具。数据采集设备通过实时采集嵌入式系统中的各种信息(如 CPU 使用率、内存使用情况、任务调度状况等),将这些信息发送到数据处理软件,然后软件对这些数据进行分析,帮助开发者快速定位...
SEGGER_RTT_V640中的内容如下: (2)把SEGGER_RTT_V640下的RTT下的所有文件添加到我们的工程中 (3)添加文件路径 (4)在main.c中添加如下测试代码 AI检测 int main(void) { /* 今天是2019-08-15 */ #define YEAR 2019 #define MONTH 8 #define DAY 15 ...
segger_rtt 的工作原理主要是通过在嵌入式系统中运行特定的软件,收集系统的运行数据,并将这些数据实时地传输到运行在 PC 机上的图形界面软件中进行分析。这样,开发者可以在 PC 机上直观地看到系统的运行状态,包括各种变量的实时值、函数调用关系、内存使用情况等。 【3.segger_rtt 的具体工作流程】 segger_rtt 的...
这插件是本文章的核心,原理是:opencod(最新版本)支持daplink和stlink使用SEGGER_RTT (牛头人:好耶) ,而Cortex-Debug支持openocd 虽然听起来比较绕,但是Cortex-Debug可以做到傻瓜式使用免去繁琐的操作,如果想要体验原汁原味的,可以参考下面的文章 配合OpenOCD的RTT使用Trice日志库 | 搬砖笔记 (sourcelizi.github.io)...