你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

出现“丢失事件”?看Tracealyzer流模式如何调优

[复制链接]
麦克泰技术 发布时间:2021-2-19 10:04
Tracealyzer 针对FreeRTOS和 Micrium µC/OS的记录器库可以配置成通过可用的通信接口(例如串口)来传输跟踪数据。用户通过提供一个自定义的“流端口”(stream port)来实现,需要在trcStreamingPort.h中实现这些I/O功能,供记录器库使用。流端口的示例在记录器库的“streamport”目录中提供。
$ K5 i) y/ }) |) G# u4 N
流端口需要有足够的数据吞吐量,以保证传输的可靠。你在使用自己定义的流端口实现流跟踪时,如果Tracealyzer提示了“丢失事件”,那么你可以参照以下几种方法,来提升流端口的性能。

7 d8 t/ E0 x  h/ |7 r! `
潜在的问题可以分成3类:
1、跟踪记录时没有足够的临时缓存空间;
2、系统产生的事件数据超过了流端口的处理能力;
3、传输时存在随机错误,比如波特率设置的太高。

/ D- o( g7 t/ r  i$ m
缓存写满
我们先从第一类问题开始。多数情况下,流端口在记录器中使用了位于内部RAM的缓存,事件先存储在缓存,再由TzCtrl任务(Tracealyzer创建的专有任务,用于传输流数据)周期性的更新到流端口。这么做有两个目的:平滑数据输出速率和避免在RTOS内核中调用流端口函数。
1.png
内部的缓存被分成了几个部分,称之为页。记录器库的TzCtrl任务会定期的传输所有已经写满的页,但记录器正在写的页除外。所以,如果只使用了2个页的最小设置,TzCtrl任务每次运行只能传输一个页的内容。

' Y2 t. J* W. ?/ D! ^& i
内部缓存可以在trcStreamingConfig.h中进行配置:
2.png
收藏 评论0 发布时间:2021-2-19 10:04

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版