JLINK RTT功能输出怎么这么耗时?实测数据远超预期

2019-12-12 18:10发布

之前用RTT也没特意关注耗时的问题,毕竟对us级别的时间不敏感,最近一个项目测了一下,哎呦,时间太长了吧
大家看看是我的测试方法有问题吗?

先上理论值,从某文档看到的,82字符1 us就输出了
tek00007.png (21.35 KB, 下载次数: 0) 下载附件 2019-4-8 15:09 上传

82字符,50  us !!!???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
XIVN1987
1楼-- · 2019-12-14 17:30
tim4146 发表于 2019-4-8 17:06
测引脚应该是最直观的了,哦对了,我是mk64主频100M


主频100MHz,,每个时钟周期10ns

你上面说 H nop() L ,示波器测量290ns,,也就是29个时钟周期,,我觉得你应该检查下看看是不是哪里有问题

或者用 H nop() nop() nop() nop() nop() nop() nop() nop() nop() nop() L 测下宽度多少,,两次结果比下看看是nop()耗时太长了,,还是IO翻转耗时太长了
XIVN1987
2楼-- · 2019-12-14 18:04
tim4146 发表于 2019-4-8 17:06
测引脚应该是最直观的了,哦对了,我是mk64主频100M


或者看下 "H; NOP(); L;”这句生成的反汇编,,
dreambox
3楼-- · 2019-12-14 19:37
 精彩回答 2  元偷偷看……
pt2go
4楼-- · 2019-12-14 20:18
本帖最后由 pt2go 于 2019-4-8 21:45 编辑

SEGGER_RTT_Write   

SEGGER_RTT_printf
的时间区别还是很大的
你的kprintf是自己定义,还是用了内核库的?
应该是里面封装了好几层,最终才调用的SEGGER_RTT_Write吧?

你试试直接调用
SEGGER_RTT_Write
Excellence
5楼-- · 2019-12-15 01:44
nongxiaoming
6楼-- · 2019-12-15 07:03
这东西就是往内存写数据,看你的cpu执行速度和你的printf代码的处理,跟RTT的速度感觉偏离比较远。

一周热门 更多>