ホーム / 製品一覧 / Percepio / Percepio View for Zephyr
Percepio View for ZephyrTRACE · トレース/ランタイム解析
Percepio 主力 No.5

Percepio View for Zephyr

型番 / ID: VIEW-ZEPHYR
無償Zephyr公式連携GDBスナップショット
Percepio の製品一覧 →

概要

Percepio View for Zephyr は、Zephyr アプリケーション向けの無償トレース可視化ツールです。商用製品 Tracealyzer を基盤としており、固定優先度のスレッドが複雑に相互作用する Zephyr のマルチスレッド挙動を、タイムラインで直感的に理解・デバッグできます。

Percepio は Zephyr Project の活動メンバーとして、計測ライブラリ TraceRecorder を Zephyr へコントリビュートしてきました(現在は Zephyr カーネルに同梱)。View はその成果を Zephyr コミュニティへ無償提供するものです。View・Tracealyzer・TraceRecorder は Zephyr 公式ドキュメントにも記載されています。

View は単なる「イベントビューア」ではありません。ミューテックス・セマフォ・メッセージキューといったRTOSの概念や、Zephyr システムコールの意味を理解した可視化を行います。ブロッキングするシステムコールはラベル色で強調され、赤ラベル(ブロック)を選択すると対応する緑ラベル(復帰)も同時にハイライトされます。

計測は Zephyr 同梱の TraceRecorder を Kconfig で有効化するだけ。カーネルのトレースフックでコンテキストスイッチやシステムコールを記録し、TraceRecorder API で任意のユーザイベント(printf より高速)も同じタイムラインに記録できます。

主要仕様

Percepio View for Zephyr
種別Zephyr 向けトレースビューア(無償)
表示トレースビュー・イベントリスト・通信フロー
上位Profile(RTT/プロファイル)/Tracealyzer(全機能)
SCREENSHOTS

画面で見る(Percepio View for Zephyr)

LIVE UIメイン画面(トレース/CPU負荷/イベントログ)
OVERVIEW

メイン画面(トレース/CPU負荷/イベントログ)

縦型トレースビュー・CPU負荷グラフ・イベントログ・フィルタを1画面に統合。Zephyr の k_sem_take / k_sleep 等のシステムコールが意味づけされて表示され、スレッドごとの実行状況を俯瞰できます。

LIVE UIブロッキングの相互ハイライト
BLOCKING

ブロッキングの相互ハイライト

赤ラベル(ブロックしたシステムコール)を選択すると、対応する緑ラベル(復帰)が自動で強調されます。Selection Details には Blocked/Returned Success の時刻と所要時間が表示され、送信側イベントへのジャンプも可能です。

LIVE UIユーザイベント(printf の高速な代替)
USER EVENTS

ユーザイベント(printf の高速な代替)

xTraceStringRegister でチャネルを登録し、xTracePrintF / xTracePrintF1 で変数値を記録。書式済み文字列+静的引数の最適化により高速で、カーネルイベントと同じタイムライン上に表示されます。

技術仕様

RTOSを理解した可視化

Percepio View for Zephyr
RTOSオブジェクトミューテックス・セマフォ・メッセージキューの意味を理解した表示
システムコールZephyr システムコールの意味づけ。ブロッキング呼出を色で強調
関連イベント追跡赤(ブロック)選択で対応する緑(復帰)を同時ハイライト。Selection Details から関連イベントへジャンプ
ユーザイベントTraceRecorder API で任意データを記録(printf より高速)。カーネルイベントと同一タイムラインで表示
公式性Percepio は Zephyr Project 活動メンバー。TraceRecorder は Zephyr カーネルに同梱
GETTING TRACES

スナップショット取得(GDB 連携)

Percepio View for Zephyr
方式ターゲットRAMのリングバッファに記録し、通常のGDBデバッガ接続で保存(スナップショット方式)
GDBコマンドdump binary value trace.bin *RecorderDataPtr
VS Codeデバッガコンソールで「-exec <GDBコマンド>」として実行可能
GUI自動化Trace → Open Snapshot Tool → Snapshot Engine に GDB を選択。GDBパス(例:arm-zephyr-eabi-gdb)・ビルドフォルダの .elf・「target remote localhost:<ポート>」を設定
活用例散発的なタイムアウトのエラーハンドラにブレークポイントを設定し、直前のイベント列をスナップショットで確認
対応ボードハードウェア要件は最小限(タイムスタンプ等はZephyrカーネル側で処理)。600 を超えるボードで検証済み
技術仕様

アップグレード

Percepio View for Zephyr
ProfileJ-Link RTTストリーミング+プロファイリング
Tracealyzer長時間トレース・全ストリーミング・30+ビュー

主な用途

  • 開発中のアプリケーションの動作を、その場で確認する
  • 本格的な解析の前に、当たりを付ける
  • 追加のハードウェアなしで実行時の様子を見る

導入メリット

  • 導入が軽く、まず動かして確認するという使い方ができる
  • 常設の計測環境がなくても実行時の挙動を確認できる
  • 本格的な解析ツールへの入り口として使える

よくある質問

Percepio View for Zephyr は本当に無償ですか?
はい。Percepio View は Zephyr コミュニティ向けに無償提供されるトレース可視化ツールです。商用製品 Tracealyzer を基盤としており、必要になれば Percepio Profile/Tracealyzer へアップグレードできます。
トレースの取得方法は?
Zephyr カーネルに同梱の TraceRecorder を Kconfig で有効化し、ターゲットRAMのリングバッファに記録します。保存は通常のGDB接続で「dump binary value trace.bin *RecorderDataPtr」を実行するだけです(VS Code では -exec 経由)。GUIのSnapshot Toolから自動化もできます。
対応ボードに制限はありますか?
ハードウェア要件は最小限で、タイムスタンプ等はZephyrカーネル側で処理されるため、事実上任意のボードで動作します。ZephyrのTraceRecorder統合は600を超えるボードで検証されています。

関連製品

まずはデモ貸出・無償評価で体験

Percepio 製品のフル機能評価版を無償でお試しいただけます。

デモ貸出・無償評価を申し込む →

お問い合わせ

対象MCU・数量・安全要件などをお聞かせください。最適な構成と概算をご提案します。

Tracealyzer — ランタイム可視化のリーダー

Percepio の全製品を見る →