搜索
bottom↓
楼主: gwnpeter

开贴研究:JLINK RTT,完爆各种printf形式,从此swo是路人

  [复制链接]

出0入0汤圆

发表于 2015-9-19 23:56:00 | 显示全部楼层
在系统频繁中断的时候,很容易死.必须得在打印输出语句前后关开全局中断才行... 貌似即便配置#define SEGGER_RTT_LOCK()  #define SEGGER_RTT_UNLOCK() 开关全局中断都没用..

出0入0汤圆

发表于 2015-9-21 16:59:02 | 显示全部楼层
很好,已经开始用这功能可

出0入0汤圆

发表于 2015-10-22 10:36:34 | 显示全部楼层
最新的V5版本,全部整合在一起了

出0入0汤圆

发表于 2015-11-26 14:26:48 | 显示全部楼层
SEGGER_RTT_vprintf 不支持打印浮点数!!!

出50入0汤圆

发表于 2015-12-8 11:45:33 | 显示全部楼层
我来学习的
看来不错的方法

出0入0汤圆

发表于 2015-12-8 13:30:22 | 显示全部楼层
收藏了,以后用到再看

出0入0汤圆

发表于 2015-12-9 23:22:26 | 显示全部楼层
同时打开logger 和 client 可以在非调试模式下输出信息,很强大。

出0入0汤圆

发表于 2015-12-10 18:13:32 | 显示全部楼层
gwnpeter 发表于 2014-9-11 00:05
书上说jtag和swd都可以,我只是实验了swd接口

JLinkRTTLogger.exe这个就是专门用来log的,但是还没有搞 ...

1.LOGGER用来重定向输出文件
2.配合client离线模式下输出到client

出0入0汤圆

发表于 2015-12-10 19:11:34 | 显示全部楼层
谢谢分享,收藏了先。

出0入0汤圆

发表于 2015-12-26 13:55:02 | 显示全部楼层
今天尝试了一下官网的 V5.10f 版,J-LINK 识别为克隆的,然后又装回了 V4.98e

出0入0汤圆

发表于 2015-12-26 14:32:21 | 显示全部楼层
上传一个 RTT 文件包。从 JLink_V510f 安装目录下提取出来的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-12-26 16:12:21 | 显示全部楼层
正在用ob  关注一下

出0入0汤圆

发表于 2015-12-27 16:07:44 | 显示全部楼层
有没有人测试过速度?

出0入0汤圆

发表于 2016-1-15 17:02:14 | 显示全部楼层
yeahmen 发表于 2014-9-14 09:38
厉害,RD精神,赞之

rd 精神 是什么精神

出0入0汤圆

发表于 2016-2-16 23:04:57 | 显示全部楼层
非常不错,立马试试去

出0入0汤圆

发表于 2016-3-18 10:01:06 | 显示全部楼层
nuoya99 发表于 2015-9-19 23:56
在系统频繁中断的时候,很容易死.必须得在打印输出语句前后关开全局中断才行... 貌似即便配置#define SEGGER ...

这个宏定义是空的,要你自己去填写

出0入0汤圆

发表于 2016-3-18 10:02:20 | 显示全部楼层
上传一个5.10t的的版本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-3-18 10:07:54 | 显示全部楼层
开始按照你的方法,client打印正常
工程后来突然就没有输出了(没有修改关于RTT部分的内容)

目前新建一个工程也能正常打印,之前的工程就一直没有输出

单步调试也没看出区别

楼主有没有碰到这问题或者给点调试思路?

出0入0汤圆

发表于 2016-3-20 00:46:30 | 显示全部楼层
看来还要好好学习,谢谢楼主分享

出0入0汤圆

发表于 2016-4-1 11:16:51 | 显示全部楼层
这个工具很强大,刚好调试电机PID参数很有帮助啊

出0入0汤圆

发表于 2016-5-23 20:05:36 | 显示全部楼层
这个的效率到底有多大

出0入0汤圆

发表于 2016-5-23 20:24:46 | 显示全部楼层
这玩意儿直接打印到电脑上?IAR能用不?

出0入0汤圆

发表于 2016-5-23 22:36:01 | 显示全部楼层
还有这个功能!mark!!!

出0入0汤圆

发表于 2016-6-23 13:14:37 | 显示全部楼层
好功能,以后调试方便了

出0入0汤圆

发表于 2016-6-23 16:55:50 | 显示全部楼层
折腾了一下午,终于把这个功能用起来了~~原来的程序在FIFO满后只有三个选择:一个是等待FIFO的内容被取走,一个是丢弃输入,一个是截断输入;自己加了几句代码,让FIFO满后自动覆盖前面旧的内容

出0入0汤圆

发表于 2016-7-27 21:52:05 | 显示全部楼层
gwnpeter 发表于 2014-9-11 00:56
直接运行rttclient还真的不行。不过搞定了JLinkRTTLogger,需要修改官方源代码

也不能说是修改官方代码, ...

直接用 setName函数把通道0设置为Log就可以了
  1.        
  2.         SEGGER_RTT_SetNameDownBuffer(0, "Log");
  3.         SEGGER_RTT_SetNameUpBuffer(0, "Log");
复制代码

出0入0汤圆

发表于 2016-7-28 18:42:38 | 显示全部楼层
之前在stm32F103下使用良好,结果换成STM32F407后就没办法使用了,估计是MDK调试接口方面暂时不支持所致?

出0入0汤圆

 楼主| 发表于 2016-7-29 09:31:35 | 显示全部楼层
3444542 发表于 2016-7-28 18:42
之前在stm32F103下使用良好,结果换成STM32F407后就没办法使用了,估计是MDK调试接口方面暂时不支持所致? ...

我的可以用呀.........也是STM32F407

出0入0汤圆

发表于 2016-7-30 16:14:01 | 显示全部楼层
gwnpeter 发表于 2016-7-29 09:31
我的可以用呀.........也是STM32F407

我用的MDK 5.14.0.0 版本
JLINK V9, JFLash软件版本 5.10u
之前调stm32F103不需要任何设置就可以了
比较奇怪的是,我的MDK进入DEBUG状态时,菜单里面Peripherals里就没看到有其他外设信息,像stm32F103的就可以看到串口啊,SPI啊等一堆的外设,
Pack安的Keil.STM32F4xx_DFP.2.7.0 否则也没办法正常进行编译
是不是少安装了啥?

出0入0汤圆

发表于 2016-7-30 16:15:42 | 显示全部楼层
开发前期的时候非常有用,现在设备已脱离调试器运行,做老化测试这些,就没办法接JLINK输出了

出0入0汤圆

发表于 2016-10-30 13:32:12 | 显示全部楼层
本帖最后由 myxiaonia 于 2016-10-30 16:01 编辑

貌似还无法集成stdio,这个挺郁闷的,但是usart和itm却可以很容易集成


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
找到简单的方法,在retarget.c增加以下内容,就可以重定向printf和scanf

#include "./rtt/SEGGER_RTT.h"
#define SendChar        SEGGER_RTT_SendChar
#define GetKey                SEGGER_RTT_GetKey
int SEGGER_RTT_SendChar (int ch)
{
  char c = ch;

  SEGGER_RTT_Write(0, &c, 1) ;
  return (ch);
}

出0入0汤圆

发表于 2016-12-12 15:36:12 | 显示全部楼层
怎么实时看  RTT.GOG内容

出0入0汤圆

发表于 2016-12-12 16:04:52 | 显示全部楼层
不错,赞一下

出0入0汤圆

发表于 2016-12-12 16:05:37 | 显示全部楼层
不错,学习了

出0入0汤圆

发表于 2017-2-15 23:51:32 | 显示全部楼层
谢谢楼主分享 !

出0入0汤圆

发表于 2017-3-10 17:47:22 | 显示全部楼层
6.14b 我这里不行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-3-10 17:55:46 | 显示全部楼层
5.10的也不行,看不到输出,那个RTT_Implementation_140806.zip可以。

出0入0汤圆

发表于 2017-3-10 18:57:32 | 显示全部楼层
gwnpeter 发表于 2014-9-11 00:56
直接运行rttclient还真的不行。不过搞定了JLinkRTTLogger,需要修改官方源代码

也不能说是修改官方代码, ...


SEGGER_RTT_ConfigUpBuffer  
怎么用?

出0入4汤圆

发表于 2017-3-10 19:11:19 | 显示全部楼层
这个不错,回头试下

出0入0汤圆

发表于 2017-3-10 19:47:19 | 显示全部楼层
好东西,谢谢楼主

出0入0汤圆

发表于 2017-4-26 22:56:44 | 显示全部楼层
这个必须MARK啊,收下来,慢慢用

出0入0汤圆

发表于 2017-4-27 17:54:48 | 显示全部楼层
有用RTT实现printf()吗?不是调用SEGGER_RTT_printf。

SEGGER_RTT_printf可以使用,我想直接用printf实现,但是没有成功。
将SEGGER_RTT_V614c.zip\Syscalls\SEGGER_RTT_Syscalls_KEIL.c加入到工程编译报错:

Error: L6915E: Library reports error:
__use_no_semihosting was requested, but a semihosting fputc was linked in

各位有遇到这个问题的吗?该如何解决。多谢。


File    : RTT_Syscalls_KEIL.c
Purpose : Retargeting module for KEIL MDK-CM3.
          Low-level functions for using printf() via RTT
Revision: $Rev: 4351 $

出0入0汤圆

发表于 2017-7-31 15:10:28 | 显示全部楼层
myxiaonia 发表于 2016-10-30 13:32
貌似还无法集成stdio,这个挺郁闷的,但是usart和itm却可以很容易集成

感谢您的方法。
我的问题解决了。
我实现了个 fputc 函数就不报错了。

int fputc(int c, FILE * stream) {
    char ch = c;
   
    SEGGER_RTT_Write(0, &ch, 1) ;
    return ch;
}

我的工程里面没有retarget.c文件,直接加到RTT_Syscalls_KEIL.c文件中。

出0入0汤圆

发表于 2017-8-23 13:40:27 | 显示全部楼层
收藏,备用

出0入0汤圆

发表于 2017-8-23 14:09:50 | 显示全部楼层
节省一个串口!这个很有价值!

出0入0汤圆

发表于 2017-9-22 15:52:24 | 显示全部楼层
gwnpeter 发表于 2015-4-7 22:41
mcu程序感觉没有什么问题,
到时pc上的  changed active terminal to -1   怎么感觉都不对...........没有- ...

我也出现这个问题,  这个terminal号到底是啥意思,没看明白

出0入0汤圆

发表于 2017-9-22 15:57:03 | 显示全部楼层
nuoya99 发表于 2015-9-19 23:56
在系统频繁中断的时候,很容易死.必须得在打印输出语句前后关开全局中断才行... 貌似即便配置#define SEGGER ...

真的有可能  我现在用usb读写文件,然后输出文件内容,就会出现terminal号一片混乱的样子,不知道是哪里出了问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-9-22 21:54:25 | 显示全部楼层
myxiaonia 发表于 2017-9-22 15:57
真的有可能  我现在用usb读写文件,然后输出文件内容,就会出现terminal号一片混乱的样子,不知道是哪里 ...

也许是缓冲区满了,之前数据被后来的覆盖,加大rtt缓冲区可能会好一点

出0入0汤圆

发表于 2017-9-22 23:02:09 | 显示全部楼层
nuoya99 发表于 2017-9-22 21:54
也许是缓冲区满了,之前数据被后来的覆盖,加大rtt缓冲区可能会好一点

不是,我是开启阻塞模式,缓冲区满的话会一直等待

出0入0汤圆

发表于 2018-1-26 13:02:10 | 显示全部楼层
给力,不用debug模式也可以打印,方便

出0入0汤圆

发表于 2018-3-20 16:27:55 | 显示全部楼层
好像不能输出中文,请教一下,在什么地方可以设置么,谢谢

出0入0汤圆

发表于 2018-3-20 17:06:54 | 显示全部楼层
putty也可以操作jlink 调用RTT  支持浮点

出0入0汤圆

发表于 2018-3-21 09:49:05 | 显示全部楼层
林戈 发表于 2018-3-20 17:06
putty也可以操作jlink 调用RTT  支持浮点

putty是用jlink的网络连接还是USB连接,没有用过,有教程么,谢谢

出0入0汤圆

发表于 2018-3-21 09:53:29 | 显示全部楼层
可以,调试方便了

出0入0汤圆

发表于 2018-3-21 10:22:26 | 显示全部楼层
sup888 发表于 2018-3-21 09:49
putty是用jlink的网络连接还是USB连接,没有用过,有教程么,谢谢

USB连接的

出0入0汤圆

发表于 2018-3-21 10:24:05 | 显示全部楼层
绝对的好东西啊。。。以后有空研究一波!!!!省了串口。。。

出0入0汤圆

发表于 2018-3-21 17:07:34 | 显示全部楼层

不是很懂,Putty通过什么连接到rtt或者jlink

出0入0汤圆

发表于 2018-3-21 17:14:34 | 显示全部楼层
sup888 发表于 2018-3-21 17:07
不是很懂,Putty通过什么连接到rtt或者jlink

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-3-21 17:24:04 | 显示全部楼层

谢谢,找个机会试试,端口号是固定的么

出0入0汤圆

发表于 2018-3-21 19:37:01 | 显示全部楼层
这个功能很实用,有时间也试试;

出0入0汤圆

发表于 2018-4-3 18:40:33 | 显示全部楼层
shangdawei 发表于 2014-9-11 13:48
C:\Program Files (x86)\SEGGER>jlinkrttclient >> c:\log.txt

打开 c:\log.txt 文件查看

试了一下,的确可以,只是这种要在命令行里实现,如果可以直接配置就好了,虽然命令行没有什么不好

出0入0汤圆

发表于 2018-5-14 14:43:36 | 显示全部楼层
你好,楼主,我觉得你很厉害,能否加个QQ,交个朋友,QQ:2478278759,真心的!

出0入0汤圆

发表于 2018-5-25 16:02:35 | 显示全部楼层
学习了,感谢分享

出0入0汤圆

发表于 2019-4-25 15:42:32 | 显示全部楼层
谢谢分享很好用

出0入0汤圆

发表于 2019-9-6 17:03:47 | 显示全部楼层
shangdawei 发表于 2014-9-11 10:58
//
// Allocate buffers for channel 0
//

请教下,你说的"_SEGGER_RTT 会有两个副本, 第一个副本用来初始化第二个副本". 这个 是 rtt的程序里 做的吗,还是需要自己写代码拷贝下呢

出0入0汤圆

发表于 2019-9-6 17:06:47 | 显示全部楼层
gwnpeter 发表于 2014-9-11 09:18
可以不过得..............

在程序里面修改一下,log的数据通道是1,Client的数据通道是0,程序请参考15 ...

你好,请教下,你说的"需要JLinkRTTLogger运行了,再打开Client,就可以直接看到数据了,不是在调试模式下的". 我也这么用的。确实 rtt client上能看到一些信息了,但看到 一些后, RTT logger 程序就 退了,然后rtt client 工具就显示 “Connection lost。 Going to reconnect”.  要重新 打开RTT logger才又能看一会儿。  这是什么情况呢?有遇到过吗

出0入0汤圆

发表于 2021-5-28 15:07:14 | 显示全部楼层
这个功能真的很实用,方便调试

出0入0汤圆

发表于 2021-5-28 18:50:06 | 显示全部楼层
MARK!留个记号
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 19:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表