概要
Tracealyzer for ThreadX は、Eclipse ThreadX のランタイム挙動を可視化するトレース解析ツールです。タスク(スレッド)スケジューリング・割込み・API呼出・ユーザイベントを詳細なタイムラインで表示し、コードが意図通り実行されているかを検証できます。CPU負荷・実行時間・スタック/ヒープなど30以上の相互リンクビューで、ソースコードからは見えない問題を解明します。
Eclipse ThreadX(旧 Azure RTOS ThreadX)は、Eclipse Foundation が管理する MIT ライセンスのRTOSです。数十億台規模の出荷実績を持ち、IEC 61508・IEC 62304・ISO 26262 等の安全認証実績も豊富。NetX Duo(TCP/IP)・FileX(FAT)・USBX・GUIX からなるミドルウェアスイートが同一設計思想で提供されるのが特長です。
【Eclipse ThreadX との連携で特に重要な点】カーネルだけでなく、NetX Duo(TCP/IP)・FileX(ファイルシステム)・USBX のイベントもトレース。通信・ファイルI/O・USBをまたいだ遅延を一つのタイムラインで解析できます。スレッド・イベントフラグ・キュー・セマフォ・ミューテックス・ブロックプール/バイトプールの状態遷移とブロッキングを可視化。ThreadX 純正の TraceX に対し、Tracealyzer は30以上の相互リンクビュー(CPU負荷・通信フロー・メモリ・統計)でドリルダウン解析が可能。長時間ストリーミングにも対応します。
TraceRecorder を統合し、スナップショットと J-Link RTT・TCP/IP 等のストリーミングでトレースを取得します。 Tracealyzer は1つのパッケージです。どの対応OS向けにご購入いただいても製品本体は共通で、30以上の解析ビューをすべて利用でき、後からOSを変更・追加しても同じライセンスで継続利用できます。
主要仕様
| 対象RTOS | Eclipse ThreadX |
|---|---|
| 可視化 | 25+ ビュー(トレース/CPU負荷/スタック/通信フロー) |
| 計測 | TraceRecorder(Apache 2.0) |
| 取得 | スナップショット/ストリーミング |
| ホスト | Windows / Linux(x86-64) |
主要機能
Tracealyzer for ThreadX の主要な可視化機能を、実際の解析画面とともにご紹介します。各機能がどんな不具合の発見に役立つかまでを明記しています。これらのビューは全ての対応OSで共通です。

タスク実行トレース
タスク/スレッド・割込み・カーネルAPI呼出・ユーザイベントを時系列のタイムラインで可視化。スケジューリングが意図通りかを一目で確認でき、優先度逆転・想定外のプリエンプション・タスクの取りこぼしを発見できます。

CPU負荷グラフ
タスク/割込みごとのCPU使用率と総負荷を時系列で表示。負荷の高いホットスポットを特定して最適化の的を絞れるほか、負荷スパイクから処理の詰まり・ビジーループ・割込み過多を突き止められます。

カーネル・アウェアネス
セマフォ・ミューテックス・メッセージキュー・イベントフラグなどRTOSオブジェクトの状態遷移(Running/Ready/Blocked/Waiting)を可視化。どのタスクがどの資源で待たされているかが分かり、デッドロック・長時間ブロック・優先度逆転の原因特定に直結します。

ヒープ/スタック解析
動的メモリ確保(malloc/free)とタスク別スタック使用量の推移を表示。右肩上がりのヒープ推移からメモリリークを、スタックの余裕不足からスタックオーバーフローの予兆を早期に発見でき、断片化の傾向も掴めます。

通信フロー/シーケンス
スレッド間のIPC・同期イベントの相互作用をシーケンス図で集約表示。どのタスクが特定のキューやセマフォを介してやり取りしているかを俯瞰でき、想定外の依存関係・過剰なメッセージ往復・同期の取りこぼしを可視化します。

トレース統計・タイミング
実行時間・応答時間・周期などのタイミング指標を統計化し、性能グラフとともに表示。最大・最小の外れ値をクリックすると該当ジョブへドリルダウンでき、ワーストケースのレイテンシやジッタ、周期の乱れといった問題箇所へ即座に到達できます。

システム構成
アプリケーション・カーネル・ドライバ・ハードウェアの階層構造を俯瞰。システム全体の見通しを得られ、各層の関係を把握することで、問題がどの層で起きているかの切り分けを助けます。

ユーザイベント/ライブ
ユーザイベントで記録した任意データを時系列で表示し、J-Link RTT・ITM・TCP/IP・UDP等で長時間トレースをリアルタイム表示(printfの数百倍高速)。スナップショット方式にも対応し、再現性の低い間欠不具合を長時間ストリーミングで捕捉できます。
可視化・解析
| トレースビュー | タスク・割込み・Eclipse ThreadX API・ユーザイベントのタイムライン |
|---|---|
| CPU負荷 | タスク/ISR別・総CPU使用率(ホットスポット特定) |
| タイミング | 実行時間・応答時間・周期の統計(ジョブ単位) |
| メモリ | スタック余裕プロット・ヒープ割当時系列 |
Eclipse ThreadX と Tracealyzer — 採用ポイント
Eclipse ThreadX(旧 Azure RTOS ThreadX)は、Eclipse Foundation が管理する MIT ライセンスのRTOSです。数十億台規模の出荷実績を持ち、IEC 61508・IEC 62304・ISO 26262 等の安全認証実績も豊富。NetX Duo(TCP/IP)・FileX(FAT)・USBX・GUIX からなるミドルウェアスイートが同一設計思想で提供されるのが特長です。
Eclipse ThreadX 連携の特別事項
| ミドルウェアまで可視化 | カーネルだけでなく、NetX Duo(TCP/IP)・FileX(ファイルシステム)・USBX のイベントもトレース。通信・ファイルI/O・USBをまたいだ遅延を一つのタイムラインで解析できます |
|---|---|
| 可視化オブジェクト | スレッド・イベントフラグ・キュー・セマフォ・ミューテックス・ブロックプール/バイトプールの状態遷移とブロッキングを可視化 |
| TraceX との違い | ThreadX 純正の TraceX に対し、Tracealyzer は30以上の相互リンクビュー(CPU負荷・通信フロー・メモリ・統計)でドリルダウン解析が可能。長時間ストリーミングにも対応します |
こんな課題に
- ネットワーク・ファイル・USB を含む複合的な遅延問題を、レイヤをまたいで1画面で切り分けられる
- イベントフラグやメッセージキュー経由の複雑なスレッド間連携を通信フロー図で俯瞰できる
- Azure RTOS から Eclipse ThreadX への移行後も、同じトレース環境を継続できる
取得・連携
| モード | スナップショット(RAM)/ストリーミング |
|---|---|
| 転送 | J-Link RTT / ITM / SWO / TCP/IP / UDP / USB CDC |
| IDE | STM32CubeIDE / Keil MDK / IAR / Eclipse-GDB / Lauterbach |
| ライブラリ | Percepio TraceRecorder(GitHub・Apache 2.0) |
主な用途
- Eclipse ThreadX 上のタスク切り替え・割込みの実行順序と所要時間を可視化する
- Eclipse ThreadX を用いた機器で、優先度逆転・デッドロック・応答遅れの原因を特定する
- まれにしか再現しない不具合を、記録から追跡する
導入メリット
- Eclipse ThreadX 向けに用意されており、計装の実装工数が小さい
- ソースコードを読むだけでは分からない実行時の挙動が見える
- 止めると消えるタイミング不具合を、動かしたまま追える
よくある質問
Tracealyzer for ThreadX の見積もり・技術相談はできますか?
関連製品
お問い合わせ
対象MCU・数量・安全要件などをお聞かせください。最適な構成と概算をご提案します。
Tracealyzer — ランタイム可視化のリーダー
Percepio の全製品を見る →