硬汉嵌入式论坛

 找回密码
 立即注册
楼主: eric2013
收起左侧

[专题教程] 【专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中断和多任务中随意调用

  [复制链接]

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2019-1-14 14:25:52 | 显示全部楼层
eric2013 发表于 2019-1-10 01:55
这个功能是没问题的,发送是否测试没问题,只是接受不行?

重新更新软件就好了,可能RTT库太老了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-1-15 00:22:51 | 显示全部楼层
chwf49170168 发表于 2019-1-14 14:25
重新更新软件就好了,可能RTT库太老了

好的
回复

使用道具 举报

4

主题

129

回帖

146

积分

初级会员

积分
146
发表于 2019-4-23 11:53:38 | 显示全部楼层
本帖最后由 Dinor 于 2019-4-23 14:09 编辑

硬汉,用DAP可以实现RTT功能吗?还是说一定要用Jlink?
回复

使用道具 举报

4

主题

129

回帖

146

积分

初级会员

积分
146
发表于 2019-4-23 14:09:49 | 显示全部楼层
硬汉,用DAP可以实现RTT功能吗?还是说一定要用Jlink?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-4-24 01:41:25 | 显示全部楼层
Dinor 发表于 2019-4-23 11:53
硬汉,用DAP可以实现RTT功能吗?还是说一定要用Jlink?

不好意思,回复晚了。
DAP不行,当前仅支持JLINK

回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2019-5-31 11:14:55 | 显示全部楼层
有报警。RTX系统,keil 版本V4.74,程序也能打印,想把报警去掉,版主咋整?
...\..\User\SEGGER\RTT\SEGGER_RTT_Conf.h(279): warning:  #47-D: incompatible redefinition of macro "SEGGER_RTT_LOCK" (declared at line 199)
      #define SEGGER_RTT_LOCK()   {                                                                   \
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-5-31 17:00:50 | 显示全部楼层
郁工_pQ3Mr 发表于 2019-5-31 11:14
有报警。RTX系统,keil 版本V4.74,程序也能打印,想把报警去掉,版主咋整?
...\..%user\SEGGER\RTT\SEGG ...

像是没移植好,提示重定义了
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-11-5 10:10:25 | 显示全部楼层
怎样配置一下编码,使其能支持显示中文呢?
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-11-5 10:11:16 | 显示全部楼层
怎样修改编码格式?让它能正常显示中文呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-11-5 11:50:42 | 显示全部楼层
wangyaolin1 发表于 2019-11-5 10:11
怎样修改编码格式?让它能正常显示中文呢?

他们这个上位机软件不支持中文。
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-11-6 08:18:41 | 显示全部楼层
或许是我的 Jlink 比较水,速度和稳定性跟不上。当前F409的项目,串口中断、USB中断都使用了,USB透传数据包的时候出现了异常。
F4通过USB导出数据给PC正常循环,PC通过USB导入数据给F4出现明显卡顿(数据包超时重发)。数据大概300左右数据包,每个数据包 16个 int data.

把RTT打印,换回 串口就没问题。
Releasing your creativity
回复

使用道具 举报

332

主题

2031

回帖

3032

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3032
发表于 2019-12-5 10:52:15 | 显示全部楼层
这个不支持中文可以理解,还不支持浮点格式啊~~~有点麻烦。。。。print都可以支持浮点的哦。、
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-12-5 11:10:50 | 显示全部楼层
caicaptain2 发表于 2019-12-5 10:52
这个不支持中文可以理解,还不支持浮点格式啊~~~有点麻烦。。。。print都可以支持浮点的哦。、

Event Recoder支持,他们用的是标准库。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-12-30 21:50:00 | 显示全部楼层
楼主你好,问你个关键的问题:Jlink去哪里买?现在这么多盗版Jlink
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2019-12-31 00:46:13 | 显示全部楼层
你敢砍我瓜? 发表于 2019-12-30 21:50
楼主你好,问你个关键的问题:Jlink去哪里买?现在这么多盗版Jlink

E络盟,得捷、贸泽等
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2020-1-4 20:14:46 | 显示全部楼层
好像不支持float类型,是吧。浮点型数据
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-1-5 01:03:30 | 显示全部楼层
你敢砍我瓜? 发表于 2020-1-4 20:14
好像不支持float类型,是吧。浮点型数据

对,不支持。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2020-1-7 19:51:42 | 显示全部楼层
caicaptain2 发表于 2019-12-5 10:52
这个不支持中文可以理解,还不支持浮点格式啊~~~有点麻烦。。。。print都可以支持浮点的哦。、

可以写一个这样的函数……
  1. void printf_float(float data)
  2.   {
  3.      int temp;
  4.      int temp1;
  5.      int temp2;
  6.      int temp3;
  7.      
  8.      temp = (int)data;
  9.      temp1 = (int)((data - temp) * 10) % 10;
  10.      temp2 = (int)((data - temp) * 100) % 100;
  11.      temp3 = (int)((data - temp) * 1000) % 1000;
  12.      
  13.      printf("%d.%d%d%d", temp, temp1, temp2, temp3);
  14.   }
复制代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-1-8 09:14:35 | 显示全部楼层
你敢砍我瓜? 发表于 2020-1-7 19:51
可以写一个这样的函数……

这个可以有,好办法
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
发表于 2020-5-20 09:18:42 | 显示全部楼层
rtt中文输出是???请问怎么解决
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-5-20 10:17:30 | 显示全部楼层
wdliming 发表于 2020-5-20 09:18
rtt中文输出是???请问怎么解决

不支持。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2020-7-12 20:45:17 | 显示全部楼层
怎么DEMO我的跑不起来
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-7-12 20:48:15 | 显示全部楼层
heshui282 发表于 2020-7-12 20:45
怎么DEMO我的跑不起来

Demo没问题,从你的开发环境找原因。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
发表于 2020-9-3 09:27:48 | 显示全部楼层
浮点数不支持用sprintf不就可以了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-9-3 09:52:33 | 显示全部楼层
李牧林 发表于 2020-9-3 09:27
浮点数不支持用sprintf不就可以了?

可以,现在打印浮点基本改成sprintf转换下了
回复

使用道具 举报

1

主题

13

回帖

16

积分

新手上路

积分
16
发表于 2020-9-11 12:35:29 | 显示全部楼层
最近用seggerRTT做调试的时候,发现用RTT viewer给芯片发送数据的时候,单次超过超过10个字节就会报错,没法发送,请问硬汉哥有遇到过嘛
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-9-12 10:09:50 | 显示全部楼层
Jim 发表于 2020-9-11 12:35
最近用seggerRTT做调试的时候,发现用RTT viewer给芯片发送数据的时候,单次超过超过10个字节就会报错,没 ...

RTT接收字节,有时候不太好用。
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
发表于 2020-9-12 11:30:13 | 显示全部楼层
硬汉哥 ,rtt有移植到cm0或cm0+的文件吗?
回复

使用道具 举报

1

主题

13

回帖

16

积分

新手上路

积分
16
发表于 2020-9-12 12:30:30 | 显示全部楼层
eric2013 发表于 2020-9-12 10:09
RTT接收字节,有时候不太好用。

确实是,这个在调试阶段的话更多是打印输出。做交互就不大好了
回复

使用道具 举报

73

主题

1189

回帖

1408

积分

至尊会员

积分
1408
发表于 2020-9-24 11:47:21 | 显示全部楼层
SEGGER_RTT_ASM_ARMv7M.S
大佬,这个文件是干嘛的,好像不用添加也行的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2020-9-25 00:07:36 | 显示全部楼层
wdliming 发表于 2020-9-24 11:47
SEGGER_RTT_ASM_ARMv7M.S
大佬,这个文件是干嘛的,好像不用添加也行的

没用过这个文件。
回复

使用道具 举报

0

主题

68

回帖

68

积分

初级会员

积分
68
发表于 2021-2-1 15:52:56 | 显示全部楼层
相见恨晚呀,今天才用rtt viewer这个东西。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2021-4-19 22:42:16 | 显示全部楼层
更新此教程。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2021-5-11 19:24:01 | 显示全部楼层
李牧林 发表于 2020-9-3 09:27
浮点数不支持用sprintf不就可以了?

在Rtt的SEGGER_RTT_vprintf函数下的多加下面的case就可以了
  1. case 'f':
  2. case 'F':
  3.                     {
  4.                         char ch[10] = {0};/*这里可以其实优化一下*/
  5.                         const char * s = ch;
  6.                         double a = va_arg(*pParamList, double);
  7.                         sprintf(ch, "%4.3f", a);

  8.                         do
  9.                         {
  10.                             c = *s;
  11.                             s++;

  12.                             if (c == '\0') break;

  13.                             _StoreChar(&BufferDesc, c);
  14.                         }
  15.                         while (BufferDesc.ReturnValue >= 0);
  16.                     }
  17.                     break;
复制代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2021-5-12 09:10:06 | 显示全部楼层
你两位 发表于 2021-5-11 19:24
在Rtt的SEGGER_RTT_vprintf函数下的多加下面的case就可以了

谢谢分享,也是不错的办法。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2022-6-17 11:16:45 | 显示全部楼层
硬汉哥,您好!我在使用RTT移值时编译和下载都成功,打开RTT viewer 也显示连接,但是发送数据不成功,下发数据出现警告,也没有发送成功。MCU用的是国产芯片的cortex-M3内核的,没有专门的支持包,MDK编译时选用通用的cortex-M3器件,JLINK-V9编译真都是OK的。请教一下会是什么问题?
pic1.png
pic2.png
PIC3.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2022-6-17 12:04:07 | 显示全部楼层
ldh2018 发表于 2022-6-17 11:16
硬汉哥,您好!我在使用RTT移值时编译和下载都成功,打开RTT viewer 也显示连接,但是发送数据不成功,下发 ...

有时候是这样的,改成地址或者范围搜索试试
image.png
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2022-6-17 14:25:25 | 显示全部楼层
试了搜索范围,还有更换jlink版本为V642F,还是一样的问题。难道是和我的JLINK是几十块的D版ARM-V9有关吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106405
QQ
 楼主| 发表于 2022-6-21 01:49:02 | 显示全部楼层
ldh2018 发表于 2022-6-17 14:25
试了搜索范围,还有更换jlink版本为V642F,还是一样的问题。难道是和我的JLINK是几十块的D版ARM-V9有关吗?

这个没准,有时候RTT抽抽了,也会各种奇葩问题。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2022-8-10 11:14:47 | 显示全部楼层
image.png 这是什么问题呢?
image.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-19 14:04 , Processed in 0.531786 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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