J-Link RTT调试 教程
文章目录
- 前言
- 一、安装J-Link驱动
- 二、查找RTT源文件
- 三、使用
- 四、打开J-Link RTT Viewer
- 五、输出不同颜色的文字
- 六、自定义封装一下
- 七、float类型输出
前言
在嵌入式开发过程中,经常需要进行打印调试,通常使用串口进行打印输出,
但通常串口资源有限,这时就可以通过J-Link工具里面自带的RTT实现打印,从而节约一个串口资源。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装J-Link驱动
J-Link官网下载驱动
驱动自行选择一个版本进行安装,不建议安装太高的版本,毕竟大家使用的J-Link可能不是正品的。
二、查找RTT源文件
在J-Link驱动的安装路径下,找到RTT
最后直接将RTT添加到工程中即可(复制SEGGER_RTT_Conf.h
到RTT文件夹)
三、使用
自行在工程中添加头文件,添加头文件的路径
使用非常简单,无需初始化,就添加下面3行代码就可以输出
#include "SEGGER_RTT.h"
SEGGER_RTT_SetTerminal(0); // 选择终端(输入0-15)
SEGGER_RTT_printf(0,"Terminal(0) text \r\n"); // 输出日志
四、打开J-Link RTT Viewer
不出意外就可以正常输出了
可以手动打开相对应的终端
五、输出不同颜色的文字
大家可以输入以下代码,体验一下
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_printf(0,RTT_CTRL_TEXT_RED"Terminal(0)\r\n");SEGGER_RTT_SetTerminal(1);
SEGGER_RTT_printf(0,RTT_CTRL_TEXT_BRIGHT_RED"Terminal(1)\r\n");SEGGER_RTT_SetTerminal(2);
SEGGER_RTT_printf(0,RTT_CTRL_BG_BRIGHT_RED"Terminal(2)\r\n");
六、自定义封装一下
如果在程序中直接调用下面这两行代码,能用,但是感觉不优雅。
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_printf(0,RTT_CTRL_TEXT_RED"Terminal(0)\r\n");
我们可以使用#define
进行定义一下
#define LOG_DATA(fmt, ...) SEGGER_RTT_SetTerminal(0); SEGGER_RTT_printf(0, fmt, ##__VA_ARGS__)#define LOG_STATUS(fmt, ...) SEGGER_RTT_SetTerminal(1); SEGGER_RTT_printf(0, fmt, ##__VA_ARGS__)#define LOG_ERROR(fmt, ...) SEGGER_RTT_SetTerminal(2); SEGGER_RTT_printf(0, fmt, ##__VA_ARGS__)
在程序中调用下面封装好得宏,简单又优雅 不支持输出中文的
LOG_DATA("LOG_DATA\r\n");LOG_STATUS("LOG_STATUS\r\n");LOG_ERROR("LOG_ERROR\r\n");
七、float类型输出
是无法直接打印float
类型数据的
float float_data = 3.14;
LOG_DATA("float_data = %f \r\n",float_data );
不过我们可以借用sprintf
函数
#include<stdio.h>char str[40];
float float_data = 3.14;sprintf(str,"float_data = %f \r\n",float_data );
LOG_DATA("%s",str);
J-Link RTT调试 教程相关推荐
- Chrome浏览器及调试教程
==>(微信公众号:IT知更鸟)欢迎关注<^>@<^> Chrome浏览器及调试教程 在web开发过程中,我们在写JavaScript脚本时难免会遇到各种bug,这时,我 ...
- Chrome浏览器调试教程
==>(微信公众号:IT知更鸟)欢迎关注<^>@<^> Chrome浏览器及调试教程 引言 在web开发过程中,我们在写JavaScript脚本时难免会遇到各种bug,这 ...
- RDA5807M收音机调试教程
本博文通过解析RDA FM原厂驱动RDA_FM5807P_drv_V3.3代码来进行讲解,实现RDA5807N系列收音机,可以通过读ID的方式兼容RDA5807P.RDA5807SP.RDA5807S ...
- c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程
c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程 转载于:https://www.cnblogs.com/Littl ...
- GDB调试教程:1小时玩转Linux gdb命令
原文链接:http://c.biancheng.net/gdb/ GDB 入门教程 本教程以下面的代码为例,在 Linux 系统下来讲解 GBD 的调试流程: int main (void) {uns ...
- RASP | 远程Java应用的RASP调试教程
远程Java应用的RASP调试教程 介绍 Java RASP是基于Java Agent技术实现的,而Java Agent代码无法独立启动,必须依赖于一个Java运行时程序才能运行. 如何调试一个Jav ...
- C语言调试教程总结(以visual studio和Dev C++为例)
文章目录 一.前言 二.调试的概念以及调试器的选择 调试器(Debugger) 1) Remote Debugger 2) WinDbg 3) LLDB 4) GDB 三.设置断点,开始调试 断点的真 ...
- keil uvision4 调试教程
keil uvision4 调试教程 软件的下载和安装 相关环境的配置 新建工程,新建文件 新建文件 调试程序 其他问题 如何设置单片机的时钟周期 只是作者复习用,不喜勿喷,博主玻璃心hhhh 已ST ...
- 艾肯Cube 4Nano MicU声卡等型号安装调试教程
艾肯声卡是用来网络直播或者后期混音编曲的一种声卡类型,是连接在我们电脑USB接口上的,它的型号有很多种,比如:艾肯[icon]Cube 4Nano ,MicU,Ultra 4,micu solo , ...
最新文章
- 替换IP java代码
- 常用的函数式接口_Consumer接口
- ES5-16【utils】数组方法、类数组
- ubuntu下面 将桌面换成 英文
- 知识图谱应用实战案例100篇(一)-阿里巴巴超大规模知识图谱预训练实践:商品分类
- 床位的摆放有五大禁忌
- 2017.4.16 车站 思考记录
- CentOS7网络配置ping通外网
- 如何挖掘评论中的关键信息
- PHP什么架构,PHP是什么-PHP的架构及道理概述_后端开发
- 雪花算法生成数字id_全局唯一iD的生成 雪花算法详解及其他用法
- c语言课件谭浩强ppt下载,c语言课件谭浩强
- python处理地震sac数据_地震数据SAC格式
- 【遗传算法】求解TSP问题
- [CGAL] CGAL的编译与使用
- IBM FlashSystem掌控现代存储,靠的是硬实力
- 张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
- 物联网开发常用的开发板_物联网开发人员简介:物联网开发人员调查的结果
- 【1024程序员节】创作创富-对话议题-直播笔记
- 少儿知识付费做好内容是关键