十分钟让你的JLINK成为调试利器

摘要

想要打印调试信息,发现串口不够用了,手边没有USB转TTL模块?代码自己测试好好的,屏蔽了打印信息之后,代码运行异常了,咋整?EASY!今天小飞哥教你如何让你手中的JLINK成为调试利器,10分钟搞不定,你打我~

觉得有用,别忘了点个赞哦,测试源码,关注公众号,后台回复“RTT”即可获取哦

J-LINK 驱动安装

可以在官网下载,选择对应的系统,对应的JLINK驱动版本

https://www.segger.com/downloads/jlink

当然了,也可以通过文章中放的资料链接下载

一路不要反抗,静静地安装就行了...

OK-->finis,安装是比较简单的

打开目录(这是我的安装目录),进入到Samples目录下 C:\Program Files\SEGGER\JLink\Samples

RTT文件夹下即是我们接下来要用到的源码文件

此外还需要config目录下的SEGGER_RTT_Conf.h文件

最终需要的文件为

代码移植

找一个可以正常运行的工程,小飞哥是以STM32F407ZGT6为主控做的一个分享,大家伙可以根据自己的MCU进行移植

工程目录下中新建RTT目录,并添加到工程中,添加RTT相关驱动源码

包含RTT的路径进来

此时编译,应该是稳妥妥的,没问题的...

快速使用

重点来了,移植完成该如何使用呢?

这里是有个example的文件夹的

里面有好几个示例,咱们只来看看框框中的即可,其他的有兴趣,自行研究~

里面是打印一些信息,我们来移植几个进工程里面去

在while循环中,我们打印一些信息

另外,RTT也封装好了printf函数,红框中是一些支持的数据类型

到这里忽然意识到,像串口,我们有个串口调试助手可以监测打印的信息,JLINK打印的信息怎么监测呢

不用担心,官方是有成套方案的,我们找到这么个软件

打开软件,选择USB->芯片型号->默认值就行

我选择的是通道0,代码中配置的为通道0,这样我们就看到了期望打印的信息啦

使用RTT封装的printf测试看看,英文字符,数字都显示OK,中文乱码了...

莫慌,接下来打开一个叫RTTClient的东西,记住这个端口,下面要考

显示效果还是可以的,中文也显示出来了

这个输出界面毕竟还是有点丑,只要思想不滑坡,方法总比困难多,接下来我们借助第三方软件,来进行高级点的操作,可以使用xshell,mobaxterm,putty等软件,建立telnet连接

找到这个端口,19021,我这里是用的是mobaxterm软件

连接成功

如果中文输出乱码的话,修改一下终端字符编码格式

修改字符编码格式为

修改之后,输出正常啦

从RTT封装的函数来看,目前仅仅支持下面的一些数据类型,暂不支持浮点型,小飞哥也还没有找到直接输出浮点型数据的方法,需要稍微改一下

浮点数输出配置,需要在rtt封装的SEGGER_RTT_vprintf函数中加入下面代码,本质上是把浮点数转换为了字符串输出

   case 'f':
   case 'F':
   {
     char ch[10]={0};
     const char * s=ch;
     double a = va_arg(*pParamList, double);
     sprintf(ch,"%4.3f",a);//可以在这里进行精度的控制
     do{
       c = *s;
           s++;
           if (c == '\0') break;
       _StoreChar(&BufferDesc, c);
      }while(BufferDesc.ReturnValue >= 0);
   }
   break;

测试下浮点数输出效果,nice啊,浮点数也可以打印了

如果到这里就结束了的话,那还不够,接下来来点比较个性化的操作,对于强迫症的小伙伴可能是好消息

如果有小伙伴就喜欢红色字体,怎么整,在SEGGER_RTT.h中有一些关于字体颜色,背景色的配置,可以根据自己的需要进行配置

来简单测试几个看看效果,很酷有没有...

经验交流

欢迎关注公众号,获取更多有趣、实用的教程,更有“高质量嵌入式开发群”等待你的加入,结识更多志同道合的开发者,拒绝吹水,欢迎凭技术“吹x”

  • 12
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Jlink是一种能够用来调试和下载程序到嵌入式芯片的调试工具。而HD芯片是一种嵌入式芯片,因此可以使用Jlink来进行调试。 首先,需要将Jlink与HD芯片连接起来。连接的方法通常是通过调试接口,比如JTAG或SWD接口。将Jlink的连接线缆正确连接到对应的调试接口引脚上。 接下来,需要使用一些调试工具来与HD芯片进行通信和控制。这些调试工具通常是由芯片厂商提供的开发环境或者第三方的调试软件。通过这些调试工具,可以将程序下载到芯片上,并能够对芯片进行单步执行、断点设置和寄存器查看等调试操作。 在进行调试之前,需要根据具体的调试需求和目标,设置好调试工具的参数。例如,设置调试目标(比如芯片型号)、调试接口类型、时钟频率等。这些参数会影响到调试的稳定性和效果。 当调试环境准备就绪后,可以通过调试工具启动调试调试工具会与Jlink建立连接,并与HD芯片进行通信。可以通过调试工具提供的界面进行程序下载、查看程序运行状态、设置断点和监控变量等操作。 在调试过程中,可以使用单步执行功能来逐行查看程序的执行过程。通过查看寄存器的值,可以了解芯片在每一步执行时的状态。如果程序出现异常或者bug,可以使用断点功能停下程序的执行,并进行详细的调试和定位错误。 总之,使用Jlink进行HD芯片的调试需要连接Jlink与芯片、准备调试工具和环境,然后通过调试工具进行调试操作,包括程序下载、单步执行、断点设置等。通过这些操作,可以更方便、高效地进行HD芯片的调试工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞哥玩嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值