0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Percepio的Tracealyzer和DevAlert实现FreeRTOS的可观察性

麦克泰技术 来源:麦克泰技术 2023-05-16 14:17 次阅读

Percepio是著名的Tracealyzer背后的公司。Tracealyzer是一款桌面应用程序,方便嵌入式工程师通过追踪直观地诊断软件中的问题。什么是追踪?追踪是一种低级日志记录机制,可用于在执行过程中解释系统状态。在对意外行为进行故障排除时,使用FreeRTOS分析基于微控制器的应用程序的追踪可以节省嵌入式工程师大量时间和精力。如需将此工具与FreeRTOS应用程序一起使用,需要简单集成TraceRecorder库以捕获追踪。在程序执行过程中,追踪可以快照形式记录并予以保存,或实时流式传输。

加载追踪后,Tracealyzer可以提供具有可配置视图的执行详细信息,例如程序时间线、事件日志、CPU负载图、内存使用情况、任务依赖关系和许多其他有用的可视化结果。这些功能有助于实现可观察性。您可以在FreeRTOS应用程序的深层追踪任务以及内核API调用。下图是在笔记本电脑上运行的 Tracealyzer的快照,其中加载了示例FreeRTOS追踪请注意追踪视图面板中的FreeRTOS API调用,例如xQueueSend()和xQueueReceive()。除了代码调试之外,您还可以看到与追踪序列相关的CPU负载图。

15e0a502-f3a2-11ed-90ce-dac502259ad0.jpg

已加载示例FreeRTOS追踪的Tracealyzer

Tracealyzer可用于嵌入式应用程序的开发和测试或对现场遇到的问题进行分类。如需详细了解如何使用该工具,请访问Percepio网站上适用于 FreeRTOS的Tracealyzer。此外,请按照实用入门指南,使用FreeRTOS应用程序设置TraceRecorder库。

除了Tracealyzer之外,Percepio还提供另外一款基于云的产品 DevAlert。DevAlert与Tracealyzer相得益彰,具有许多适用于生产用例的功能。从可观察性的不同角度来看,DevAlert服务可以配置为通过云连接从远程设备群中捕获特定诊断。更重要的是,您可以定义有意义的特定数据元素以及要发出的警报类型。此外,设备固件和诊断数据都不需要直接发送到 DevAlert服务,而是存储在您自己的云帐户(例如AWS S3)中。

使用分离存储可解决隐私和安全问题,因为此数据保留在设备制造商的帐户中,不会上传到Percepio服务。单击即可访问诊断数据,这得益于桌面客户端DevAlertDispatcher所采用的混合设计。触发DevAlert仪表板链接时,该客户端会从单独的存储中下载请求的数据。DevAlert服务的架构图如下图所示,显示了这种分离的存储范例。

161f5f0e-f3a2-11ed-90ce-dac502259ad0.png

DevAlert 架构

得益于这种架构,可使用相关桌面工具实现多种类型的调试数据。您可以获得Tracealyzer追踪,查看导致检测到异常的事件序列。此外,最近还新增了对GDB故障转储的支持,如下列屏幕截图所示。

164284de-f3a2-11ed-90ce-dac502259ad0.png

GDB 故障转储屏幕截图

您可以使用常规源代码调试器更详细地分析崩溃和其他异常,就像调试本地设备一样。如果您有更具体的需求,也可以添加自己的诊断负载、查看器工具和脚本。

要想深入了解DevAlert功能,最简单方法是启动沙盒环境,Percepio 提供免费试用版。沙盒包括一个在QEMU仿真器中运行的FreeRTOS示例应用程序,作为连接到DevAlert的虚拟设备。

首先,注册并登录DevAlert,然后在控制台中点按“激活服务”。只需简单几步,即可在浏览器中访问显示模拟电梯项目的虚拟桌面。示例中的电梯控制器是运行FreeRTOS应用程序的虚拟设备,已配置为生成不同类型的警报。如需了解控制器在任何给定时间发生的情况,请参阅电梯动画。

167ff846-f3a2-11ed-90ce-dac502259ad0.jpg

模拟电梯项目

您可以浏览源代码,查看如何根据正在运行的FreeRTOS应用程序中遇到的事件类型配置警报。我们提供了一组场景引发已知问题来演示警报的作用。执行场景后,返回DevAlert控制台并单击仪表板。此时您可以看到问题概述,其中警报已按唯一性分组。警报发送到服务时,仪表板将更新。

169994ea-f3a2-11ed-90ce-dac502259ad0.png

DevAlert 控制台

从仪表板的“打开”按钮可以看出,如果想通过设备更深入地了解追踪本身,甚至可以通过DevAlert启动Tracelyzer。通过这种方式,这两种工具相辅相成,为FreeRTOS 应用程序带来全面的可观察性。适用于FreeRTOS的Tracealyzer和DevAlert 还有很多值得探索之处,因此 请按照上述链接内容开始使用自己的嵌入式应用程序。快来开启快乐追踪之旅吧!

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147648
  • 嵌入式
    +关注

    关注

    4983

    文章

    18286

    浏览量

    288506
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10446

    浏览量

    206572
  • 内存
    +关注

    关注

    8

    文章

    2767

    浏览量

    72772
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61349

原文标题:使用Percepio的Tracealyzer和DevAlert实现FreeRTOS的可观察性!

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何通过Tracealyzer实现Linux系统的跟踪?

    TracealyzerPercepio 公司开发的一款可视化跟踪工具, 目前它提供了30多种相互关联的运行时行为视图,支持裸机、FreeRTOS、μC/OS-III、Zephyr、ThreadX、VxWorks、Linux系统
    的头像 发表于 12-08 14:08 562次阅读
    如何通过<b class='flag-5'>Tracealyzer</b><b class='flag-5'>实现</b>Linux系统的跟踪?

    Tracealyzer 技术分享

    FreeRTOS越来越显示其应用的强大。因此本文对于开发嵌入式操作的工程师有一定的帮助。帖子我会采用一点一点不定期的更新,毕竟我也是上班一族请大家见谅。以下是Tracealyzer 软件界面
    发表于 01-04 21:10

    教你快递入门-Tracealyzer跟踪记录库移植

    。使用Tracealyzer,可以查看到系统的真实运行情况,为开发人员节省排除错误的时间。Tracealyzer由PC应用程序和跟踪组件组成,Percepio提供了跟踪记录库(Trace Recorder
    发表于 07-31 14:08

    如何使用Tracealyzer预先定义的记录器扩展文件实现用户应用程序跟踪?

    被记录为“用户事件”。从Tracealyzer V4.2.9版本开始,增加了记录器扩展方式来跟踪用户应用程序。记录器扩展方式可以帮助用户实现中间件、驱动程序API等重要功能函数调用的跟踪。针对
    发表于 12-18 13:37

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

    Tracealyzer 针对FreeRTOS和 Micrium µC/OS的记录器库可以配置成通过可用的通信接口(例如串口)来传输跟踪数据。用户通过提供一个自定义的“流端口”(stream port
    发表于 02-19 10:06

    通过Tracealyzer用户事件来了解应用程序

    的时间或监视应用程序中的状态机的行为,该怎么办呢?本文研究如何在FreeRTOS记录这样的自定义信息,并使用Tracealyzer查看。注意,这里假定已经在FreeRTOS中完成
    发表于 08-20 10:11

    使用Tracealyzer跟踪FreeRTOS内核

    程序,还需要可用于周期任务的定时机制。大多数现有的开源 RTOS 实现了基于树或列表的机制来跟踪哪个任务已就绪。我们知道,基于树的机制在复杂搜索操作方面是高效和极时的,但在处理删除和插入操作上需花费
    发表于 12-01 14:57

    如何使用Tracealyzer流模式跟踪ThreadX?

    TracealyzerPercepio 公司开发的一款用于RTOS的嵌入式软件系统的可视化跟踪工具,提供了30多种相互关联的可视化运行时行为视图,本文将介绍如何使用Tracealyzer的流模式来
    发表于 09-23 13:25

    使用PercepioTracealyzerDevAlert实现FreeRTOS可观察

    Percepio还提供另外一款基于云的产品 DevAlertDevAlertTracealyzer相得益彰,具有许多适用于生产用例的功能。从
    发表于 05-18 13:41

    嵌入式实时操作系统Percepio新版本有什么改动

    Percepio赶在寒假之前发布了Tracealyzer 4.2.9,新版本有了一些改进,并对发现的bug进行了修复。
    的头像 发表于 01-13 10:22 3410次阅读
    嵌入式实时操作系统<b class='flag-5'>Percepio</b>新版本有什么改动

    如何使用Tracealyzer的流模式来跟踪ThreadX应用

    TracealyzerPercepio 公司开发的一款用于RTOS的嵌入式软件系统的可视化跟踪工具,提供了30多种相互关联的可视化运行时行为视图,本文将介绍如何使用Tracealyzer的流模式来跟踪ThreadX应用。
    的头像 发表于 09-16 11:14 1092次阅读

    Tracealyzer跟踪记录库移植

    使用Tracealyzer,首先要将跟踪记录库集成到工程。安装了Tracealyzer 4之后,在安装路径下找到以RTOS名称命名的文件夹,将TraceRecorder子文件夹复制到自己的工程目录中。以FreeRTOS为例:
    的头像 发表于 11-08 11:17 1330次阅读

    Xilinx Zynq上FreeRTOSTracealyzer

    电子发烧友网站提供《Xilinx Zynq上FreeRTOSTracealyzer.zip》资料免费下载
    发表于 12-07 14:59 3次下载
    Xilinx Zynq上<b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>Tracealyzer</b>

    如何通过Tracealyzer导出的跟踪数据对任务进行分析?

    TracealyzerPercepio 公司开发的一款用于RTOS的可视化跟踪工具, 目前Tracealyzer提供了30多种相互关联的运行时行为视图,对系统运行时的行为提供了前所未有的洞察方法。能够帮助开发人员加快固件的开发
    的头像 发表于 02-06 14:13 761次阅读

    如何实现RTOS、中间件和芯片厂商API的跟踪可观察性?

    新的Percepio Tracealyzer®SDK为RTOS、中间件和芯片厂商API提供可扩展性,使应用程序和平台开发人员能够构建自定义扩展,实现C/ C++应用程序的完整跟踪可观察
    的头像 发表于 10-20 15:29 389次阅读
    如何<b class='flag-5'>实现</b>RTOS、中间件和芯片厂商API的跟踪<b class='flag-5'>可观察</b>性?