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

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

3天内不再提示

使用Percepio View免费跟踪工具分析Zephyr应用

麦克泰技术 来源:麦克泰技术 2025-05-27 15:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Percepio View免费跟踪工具现在可以针对Zephyr应用程序进行跟踪和可视化分析了。Percepio View可以帮助开发人员理解和调试Zephyr中的固定优先级的多线程行为及复杂的线程交互。

Percepio是Zephyr项目的活跃成员,将Percepio View作为免费工具提供给Zephyr社区,帮助开发者构建更好的实时应用程序。

43072278-3783-11f0-afc8-92fbcf53809c.png

Percepio View不仅仅是一个“事件查看器”,它还可以理解互斥信号量、信号量和消息队列等RTOS概念,以及Zephyr系统调用的含义。例如,对阻塞的系统调用通过标签颜色突出显示,在红色标签(阻塞调用)选中时,相应的绿色标签(从阻塞调用返回)也被突出显示。通过按钮“Selection Details”高亮显示相关的事件,如下所示。

43157ada-3783-11f0-afc8-92fbcf53809c.png

Percepio View依赖于TraceRecorder库,该库包含在Zephyr代码中,并可通过Kconfig系统进行配置。启用后,它将使用Zephyr内核中的跟踪hook函数来跟踪内核事件,如上下文切换和系统调用。

4326f800-3783-11f0-afc8-92fbcf53809c.png

用户还可以通过调用TraceRecorder API来记录用户定义的事件(“用户事件”)。让用户可以同时观测内核事件和应用程序事件。用户事件日志比printf日志记录方式更快。

Percepio View仅提供“快照跟踪”模式,跟踪的数据将存储在目标RAM中的环形缓冲区中,后续使用GDB调试器连接方式保存到主机。该方式将跟踪长度限制为跟踪缓冲区的大小,但即使是短的快照跟踪也可能非常有用。例如,如果某个系统调用出现了零星的超时错误,可以在返回值错误处理代码中设置一个断点,通过在此时保存快照数据,可以检查最有可能解释问题的事件序列。

432e83cc-3783-11f0-afc8-92fbcf53809c.png

读取快照可以使用以下GDB命令:dump binary value trace.bin *RecorderDataPtr

如果使用VS Code,可以在调试控制台输入“-exec ”来运行这个命令。

还可以配置Percepio View,自动执行跟踪快照。

• 在主菜单中选择Trace->Open Snapshot Tool,选择GDB作为Snapshot Engine

• 单击“Settings”按钮,在Percepio View中配置GDB设置

GDB路径:输入GDB客户端可执行文件的完整路径,例如在Zephyr SDK文件夹中的“arm-zephyr-eabi-gdb”。

镜像路径:指定构建文件夹中*.elf文件的路径。

初始化命令:target remote localhost:,其中是GDB服务器的TCP端口号。

快照跟踪模式对硬件要求低,基本上适用于任何电路板,并且特定于硬件的细节(如事件时间戳)由Zephyr内核处理。Zephyr中的TraceRecorder集成已经在600多个电路板上进行了验证。

如果需要连续跟踪流的解决方案,可以使用Percepio View的商用版本Tracealyzer,包括更多视图和特性。

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

    关注

    38

    文章

    3346

    浏览量

    60422
  • 可视化
    +关注

    关注

    1

    文章

    1363

    浏览量

    22903
  • Zephyr
    +关注

    关注

    1

    文章

    61

    浏览量

    6634

原文标题:使用免费的Percepio View工具分析Zephyr应用

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    Zephyr的构建工具

    给大家介绍一下Zephyr的构建工具们:
    的头像 发表于 12-05 09:51 2501次阅读
    <b class='flag-5'>Zephyr</b>的构建<b class='flag-5'>工具</b>

    使用Tracealyzer调试Zephyr中的优先级反转

    Percepio Tracealyzer已经在600多个支持Zephyr的开发板上完成了验证,可以帮助开发人员改进Zephyr应用的调试和性能分析
    的头像 发表于 04-21 11:31 1275次阅读
    使用Tracealyzer调试<b class='flag-5'>Zephyr</b>中的优先级反转

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

    PercepioTracealyzer是一个强大的工具,可以在运行时跟踪和可视化分析RTOS系统。超过30种视图,对系统的实时行为提供了惊人洞察力,加速了应用的调试、验证和系统性能优化的过程
    发表于 07-31 14:08

    Spectrum View具有哪些功能?

    本文将要介绍的频谱分析功能——Spectrum View,是一款功能强大的频谱分析工具,它的引入开启了全新的时频域信号分析
    发表于 06-17 10:18

    Zephyr与FreeRTOS实时性测试比较

    1、Zephyr与FreeRTOS实时性测试比较分析用Rhealstone基准程序方法,分别测试Zephyr和FreeRTOS两个RTOS的六个实时性能指标,发现Zephyr指标较差。
    发表于 08-19 16:12

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

    执行过程中解释系统状态。在对意外行为进行故障排除时,使用FreeRTOS分析基于微控制器的应用程序的追踪可以节省嵌入式工程师大量时间和精力。如需将此工具与FreeRTOS应用程序一起使用,需要简单集成
    发表于 05-18 13:41

    UltraSoC与Percepio结盟为实时系统提供第一个完整的嵌入式分析平台

    领先的嵌入式分析技术供应商UltraSoC与领先的实时操作系统软件跟踪工具专业厂商Percepio AB日前共同宣布:双方将携手打造业界最全面的设计与调试解决方案,来帮助客户实现完整的
    发表于 02-09 15:25 407次阅读
    UltraSoC与<b class='flag-5'>Percepio</b>结盟为实时系统提供第一个完整的嵌入式<b class='flag-5'>分析</b>平台

    UltraSoC联手Percepio 嵌入式调试工具实时交流和分享重要信息

    领先的嵌入式分析技术供应商UltraSoC与领先的实时操作系统软件跟踪工具专业厂商Percepio AB日前共同宣布:双方将携手打造业界最全面的设计与调试解决方案,来帮助客户实现完整的
    发表于 12-19 16:30 1187次阅读

    浅析Zephyr在ESP32上的启动流程

    理解Zephyr在一款soc上的启动流程,有利于分析和调试开机过程卡死,驱动异常等的问题。因此在上手一款新的soc时掌握Zephyr在其上面的启动流程非常必要。本文对Zephyr在ES
    的头像 发表于 06-07 17:04 7134次阅读

    Zephyr如何在第三方工具链下开启TLS

    Zephyr TLS线程本地存储的实现一文中说明了如何在Zephyr上使用TLS,在这种默认的情况下Zephyr的编译是使用的是Zephyr SDK提供的
    的头像 发表于 07-05 08:58 2873次阅读

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

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

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

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

    Percepio Tracealyzer 4.9版本改善Linux用户体验

    嵌入式边缘系统工具解决方案的领先供应商Percepio AB宣布提供Tracealyzer4.9版本——这是其嵌入式软件旗舰可观察性工具的最新更新。
    的头像 发表于 10-22 14:08 1269次阅读

    Tracealyzer如何简化调试

    如果没有专为多线程代码设计的有效调试和分析工具,开发基于Zephyr的软件可能更具有挑战性。Percepio Tracealyzer可让您快速解决问题并加快日常开发。优化您的系统以获得
    的头像 发表于 02-11 11:11 1041次阅读
    Tracealyzer如何简化调试