Traceは、SAFERTOSベースのシステムのランタイム・ワールドを前例のないレベルで把握します。SAFERTOSおよびOPENRTOSソフトウェアのランタイム動作を、25以上のグラフィカルな表示で視覚化し、デバッガの低レベルの視点を大きな画像で補完します。以前はトレースツールを使用していたかもしれませんが、これは余分なものです。ビューは賢明なやり方で相互に接続され、使用するのに直感的です。SAFERTOS計測およびサポート両方のコンポーネントは、OPENRTOSのお客様にも、Wittensteinの高度なインテグリティシステムによって独占的に提供されています。Tracealyzerを使用するために特別なトレースデバッガは必要ありません。録音は現場で使用することができるため、Tracealyzerは単なるラボツールではありません。お客様の中には、リリースビルドでデフォルトで録音が有効になっているため、分析が困難な現実の問題について非常に貴重なトレース診断を得ることができます。IDE用のプラグインを提供しており、トレースを簡単にアップロードできます。「スナップショットモード」を使用する場合、ソフトウェアイベントはオンターゲットのRAMバッファに保存され、トレースの長さが制限されます。トレースバッファをファイルに保存するようにIARデバッガを設定し、Tracealyzerが読み込んで可視化できるようにすることができます。i-Jetデバッグプローブやその他のストリーミングインターフェイスを介してトレースデータを連続的にストリーミングすることもできます。4の強力な機能を十分に活用できます。MCUに搭載されているITMモジュールを活用しています。I-Jetのような高速デバッグプローブを使用することで、ITMは高いデータ転送速度と低いトレースオーバーヘッドを可能にします。我々がサポートしている他のいくつかのストリーミングソリューションとは異なり、イベントデータ用のRAMバッファは必要ありません。J-Linkデバッグプローブと統合されており、IDEなしでもTracealyzerに直接トレースデータをアップロードすることができます。これは、ストリーミングトレースとスナップショットトレースの両方をサポートし、他のツールやIDEと並行して使用できます。データがホストPCに連続的に転送されるストリーミングモードという2つの主要なトレースモードを備えています。Tracealyzerは、.binまたは.hex形式の基本RAMダンプからトレースを抽出できるため、スナップショットレコーディングは基本的にどのデバッガでも動作します。7などのプラグインも提供しています。ストリーミングはストリームポート経由で処理され、ホストコンピュータとの通信方法(つまりデータの送受信)をレコーダーライブラリに伝えるいくつかのCマクロが処理されます。IP(lwIPの例)など、いくつかの定義済みのストリームポートを提供しています。独自のストリームポートを定義するのは簡単ですが、例えば、メモリカードまたは他の利用可能なインタフェースに流すことができる。ビジュアライゼーションは非常に応答性が高く、ストリーミングを使用する場合は録画の長さに一定の制限はありません。Tracealyzerは数百万のイベントでトレースを簡単に読み込んで表示します。〈タスク、ISR、RTOSコール、ユーザイベントのトレース〉メイントレースビューには、タスクの実行タイミング、割り込み、システムコール、およびカスタムユーザーイベントを含む、記録されたすべてのイベントが垂直のタイムラインで視覚化されて表示されます。タスクと割り込みトレースは色付きの長方形で示されています。イベントはフローティングテキストラベルとして表示されます。クリック&ドラッグによる選択は非常に簡単で、測定ツールとしても機能します。タスクやイベントをクリックしてハイライト表示すると、タイミングやイベントの依存関係などの追加情報が得られます。右下隅には強力なフィルタがあり、Finderダイアログにはさらに強力なフィルタが用意されています。ズームアウトすると、このビューは自然にパターンを学習できる概要に変換されます。〈CPU負荷〉このビューは、合計CPU使用量、およびタスク/割り込みごとのCPU使用率を示す水平のタイムラインを表示します。Graphは、CPU負荷グラフのダブルクリックがクリックされた間隔でメイントレースビューをフォーカスするため、メイントレースビューをナビゲートできます。このビューでは、他のビューとは独立してズームが許可され、個々のタスクや割り込みに焦点を当てるためのフィルタが使用できます。〈タスクのタイミングのバリエーション〉これは、いくつかのアクターインスタンスグラフの例であり、それぞれアクターの特定のタイミングプロパティ、つまりタスクまたは割り込みルーチンの分布を示しています。フラグメンテーションなどが含まれます。各データポイントは、タスクまたは割り込みハンドラの特定の1つの実行を表します。このグラフ「応答時間」は、選択した2つのタスクの応答時間の変動を示しています。応答時間が長いタスクインスタンスは、リソースの競合を明らかにする可能性があります。ビジーな間隔で複数のタスクまたは割り込みがCPU時間を争う場合などです。このビューを使用すると、最適化の問題または可能性を示すような場所を簡単に特定できます。水平方向のすべてのビューは、同期されたスクロールを使用して1つの親ウィンドウに結合できます。これにより、応答時間が他のイベントにどのように依存するかなど、個々のビューを使用して見えにくいパターンを検出することができます。これにより、ユーザーインターフェイスのカスタマイズも可能になります。多くのシステムコールは、タスク間の通信や同期を可能にします。Flowグラフは有向グラフの形でトレースに含まれるすべての依存関係の要約です。これは、セマフォやメッセージキューなどの使用されるカーネルオブジェクトを含む、タスクと割り込みの間の通信依存性の概要を示します。すべてのビューと同様に、ノードをダブルクリックすると、特定のオブジェクトに関連する関連ビューが開きます。カーネルオブジェクト(セマフォなど)をダブルクリックすると、特定のカーネルオブジェクトのすべてのイベントのリストであるオブジェクト履歴ビュー(下に表示)が開きます。タスクまたは割り込みをダブルクリックすると、アクタのすべての実行を示すアクタの履歴ビューが開きます。〈カーネルオブジェクト履歴〉このビューは、メッセージキュー、セマフォーまたはミューテックスなど、特定のカーネルオブジェクトのすべてのイベントを表示します。イベントはリストとして表示され、リスト項目をダブルクリックすると、メイントレースビューに対応するシステムコールが表示されます。送信/受信操作を使用するメッセージキューや同様のオブジェクトの場合は、受信時に送信する特定のメッセージに従うか、またはその逆にすることができます。キュー内のメッセージをいつでも調べることもできます。〈独自のユーザーイベント作成〉ユーザー定義イベントまたはユーザーイベントを使用すると、埋め込みアプリケーション内のイベントまたはデータをログに記録できます。"printf"呼び出しの柔軟性が得られますが、ビューア内ですべての文字列書式がオフラインで行われるため、はるかに高速です。カーネルトレースと同じタイムラインでイベントを取得するので、アプリケーションイベントを他のビューと関連付けるのは簡単です。Events」を記録するときに、時間の経過とともにデータを視覚化するためにデータ引数を含めてプロットすることもできます。プロット内の任意のデータポイントをクリックすると、対応するユーザーイベントがメイントレースビューで強調表示されます。プロットは、プロットされたデータを他のタイムラインビューと相関させてプロット内の異常の原因を見つけることができるため、制御アルゴリズムの解析に非常に役立ちます。世界NO1のトレース機能を持つTracealyzerおそらく以前にいくつかのトレースツールを使用されているかもしれまsんが、これは単なるトレースビューア以上のものです。これは、2004年以降に開発された最先端のビジュアライゼーションであり、トレースをもっと分かりやすくするために設計されています。ビジュアライゼーションは、ほとんどのRTOSイベントの意味を実際に理解し、関連するイベントやビューを接続してビジュアライゼーションを改善する高度な分析を実行します。これにより、データから結論を引き出し、問題を理解し、解決策を検証することがずっと簡単になります。世界NO1のシステムデバッガTracealyzerは、IAR、Keil、Eclipseツールなどの従来のデバッガと並行して使用でき、システムレベルでいくつかの追加ビューを備えた詳細なデバッガビューを補完し、従来のデバッガでは不十分なリアルタイムの問題を理解するのに理想的です。モータ制御のようなリアルタイムシステムでは、デバッグのためにシステムを停止させることができないことが多い。ソフトウェアトレースを使用することで、システムの実行中にリアルタイムで組み込みソフトウェアと関心のある変数を記録できます。タイムアウトが適切かどうかを確認して、タスクの優先またはブロックによるタイムアウトエラーを回避できます。IPタスクをプリエンプトする必要がありますか?おそらく、いくつかのミューテックスが多くのタスクで使用されるため、頻繁に実行がブロックされ、遅延が発生する可能性があります。アプリケーションコードから「ユーザーイベント」のカスタムロギングを実行して、他のビューと並行して、時間とともに状態と変数を表示することもできます。これは、モータ制御ループなど、アルゴリズムのリアルタイム動作を解析してデバッグするために使用できます。ソフトウェアロジック自体とそのパフォーマンス。実行時間はどれくらい必要ですか?より速い速度でコントロールループを実行できますか?タスクのタイミングは安定していますか?〈プロファイリングビュ〉プロファイリングビュあなたが最もリソースを使用するシステム(例えばプロセッサ時間とヒープメモリ)の何の部分を見ることができます。非効率的なコードのために、動機付けされたものよりもはるかに多くのCPUサイクルを使用しているのでしょうか?メモリ使用量ビューでは、メモリリークの可能性を特定することもできます。「残っているだけを表示する」オプションを使用して、メモリリークの可能性があるすべてのイベントを表示して、「フリー」イベントと一致するすべての「malloc」イベントをフィルタリングできます。〈メモリリーク解析〉すべてのビューは巧みに相互接続されているため、1つのビューでデータポイントをクリックし、関連する別のビューで対応する場所を表示できます。すべてのタイムラインビューを同期させることができますので、サイドビューをスクロールしてズームすることができます。このように、複数の視点から同時に利益を得ることができ、トレースをよりよく理解することができます。IPなどのカスタムターゲットホストインタフェースを使用して、リアルタイムでストリーミングできます。今のところこれはFreeRTOS、Micrium、SafeRTOSでサポートされていますが、追加のストリーミングサポートが予定されています。特別なトレースハードウェアは必要ありませんTracealyzerは最小のオーバーヘッドで効率的なソフトウェア計測に依存しているためです。この方法では、本質的にどのプロセッサまたはマイクロコントローラでも動作しますが、トレースレコーダモジュールでは数キロバイトが使用可能であると仮定します。MCUを含む32ビットターゲットプロセッサ向けです。ARCプロセッサもサポートしています。プロセッサフ​​ァミリがまだ直接サポートされていない場合でも、独自のポートを簡単に開発できます。現在の時刻を読むために、いくつかのマクロを定義するだけです。デプロイされたシステムでもそれを使用して、それ以外の場合は非常に再現しにくい散発的なエラーからトレースを取得することさえできます。トレースを有効にして製品を出荷する顧客があります。検出されたエラーに最新のトレースを保存することにより、導入された顧客操作の問題に関する貴重な情報を得ることができます。CCS)など)など、いくつかの主要なIDEが明示的にサポートされています。MCUxpressoなど)。Tracealyzerは、RAMの内容をホスト側のファイル(.binまたは.hex)に保存するか、ホストにトレースデータをストリーミングするためのターゲットホストインターフェイスを使用できる限り、任意のIDEで使用できます。MDK)バージョン5.23以降が必要です。RTX5、VxWorksなど、複数のRTOSおよびLinuxプラットフォームがサポートされています。したがって、後でプラットフォームを変更することにした場合、Tracealyzerを使い続けることができます。Systemsの効率的なデバッグのためのトレースビジュアライゼーションは、ソフトウェアトレースの世界への優れた導入、トレースデータのビジュアル化が重要視されていること、パワフルなビジュアライゼーションと組み合わせたソフトウェアトレースは、これまでにない洞察を可能にします。ソフトウェア開発の生産性と品質を改善し、プロジェクトのリスクを軽減し、市場投入までの時間を短縮します。ソースコードだけでは、マルチタスクソフトウェアシステムが実行時に実際にどのように動作するかを完全に把握することはできません。リアルタイムの振る舞いは、タスクや割り込みのタイミング、その相互作用や入力など、他の多くの要素にも依存します。システムの実行時の世界をよりよく理解し、開発、デバッグ、検証を高速化できます。マルチタスク組み込みシステムの設計とデバッグの課題については、このホワイトペーパーを読むことをお勧めします。〈より迅速なトラブルシューティング〉Tracealyzerは、まれにしか発生しない散発的なエラーをキャプチャすることができます。必要とされる時間のほんの一部で、多くの組み込みソフトウェアの問題を解決できます。Tracealyzerのレコーディングは、研究室の既存のデバッガと並行して使用することも、まれな散発的なエラーを捕捉するフィールドシステムに展開することもできます。〈より良いソフトウェア品質〉Tracealyzerは、特定の困難な問題に使用するだけの「消火器」ではありません。タイムアウトに近いシステムコールをブロックするなど、潜在的な将来の問題を発見して回避することもできます。Tracealyzerは現在のシステムランタイムのダイナミクスをよりよく理解するため、新しいフィーチャを設計するときに、タイミング、CPU使用率、スケジューリングまたは他のタスクのやりとりに関連する問題を引き起こす可能性のある不適切な設計を避けることができます。改善された洞察により、組み込みソフトウェアのパフォーマンスを改善する新しい方法を見つけることもできます。タスクタイミングの小さな変化がパフォーマンスを大幅に向上させる可能性のある「ぶら下がった果物」があるかもしれません。Tracealyzerは、リソースの競合を減らすために、優先度の高いタスクが遅れて実行され、タスクが少し遅れて実行される「ホットスポット」を見つける方法をいくつか提供しています。適切な視覚化がなければ、そのような最適化を見つけるのは非常に困難です。このようにして、より応答性の高いソフトウェアシステムを入手したり、同じハードウェアプラットフォームに多くのソフトウェア機能を組み込むことができます。〈制御システムのチューニング〉コントロールシステムの開発者は、ユーザーイベントと呼ばれるカスタムアプリケーションデータをプロットするサポートから利益を得ることができます。制御性能の異常をよりよく理解するために、制御信号(センサ入力およびアクチュエータ出力)のプロットをソフトウェアタイミングと相関させることができます。タスクタイミング(例えば、周期性)のプロットを使用して、制御性能に影響を及ぼすソフトウェアタイミング変動を調べることができる。改善された洞察力により、新しい開発者の迅速な導入が可能になり、組み込みデータベース、タッチスクリーンドライバ、通信スタックなどの新しいサードパーティ製ソフトウェアのパフォーマンスを評価する可能性も高まります。最後に、組み込みソフトウェア用のいくつかの一般的なオペレーティングシステムをサポートしているため、別のオペレーティングシステムに切り替える場合でもTracealyzerのサポートを維持することができます。Tracealyzerホストアプリケーションは、開発席またはチームごとにライセンスされています。以下のライセンスタイプが利用できます。ノードロックライセンス:特定のコンピュータにバインドされたライセンスキー。フローティングネットワークライセンス:最大同時ユーザー数、単一のサイトで無制限のインストールが可能です。中小規模のチームを対象としています。サブスクリプションライセンス:サポートされているほとんどのRTOSでTracealyzerを使用できるフローティングライセンス。アカデミックライセンス:学術機関および学生のための低コストおよびフリーライセンス。非営利目的でのみ使用可能なライセンス。限られた時間の間、Tracealyzerを無料で評価することができます。ダウンロードページで評価用に登録すると、数分でライセンスキーが電子メールで送信されます。これはノードロックライセンスであり、自動化されたフォームを使用して拡張することはできません。評価に時間がかかる場合は、ポジティブワンまでご連絡ください。評価ライセンスは評価用であり、商用プロジェクトの実際の問題には使用できません。ポジティブワンまで問い合わせください。すべて組み込み開発ツールとプロセスに特化しており、Tracealyzerを稼働させるのに役立ちます。プライバシーポリシーを確認ください。アプリケーションの使用は、エンドユーザー使用許諾契約の対象です。ノードロックされたライセンス個々の開発者を対象としています。Tracealyzerを1台のコンピュータで実行できます。1年間のサポートと無料のアップデートが含まれています。その後、毎年メンテナンス契約を購入してアップデートを引き続き受けることができます。フローティングライセンス中小規模のワークグループ向けです。ライセンスは、グループまたは組織内で共有され、インストール数に制限はありませんが、同時に使用できるユーザー数に上限があります。1年間のサポートとアップデートが含まれており、年間メンテナンス契約でこれを拡張することができます。サブスクリプションライセンス並行して実行される多くのRTOSプロジェクトが存在する大規模な開発グループに合わせたソリューション。複数のRTOSを評価していて、どのRTOSを使用するかをまだ決めていない場合にも便利です。サブスクリプションライセンスは、サポートされているすべてのオペレーティングシステム*でTracealyzerを使用できるフローティングライセンスです。1年間有効で、無料のサポートとアップデートだけでなく、Percepioがその期間中にリリースするTracealyzerアドオン製品も含まれています。Packageを提供しています。アカデミックユーザの無料ライセンス教育や学術研究のユーザー向けに、すべてのTracealyzer製品に無料のアカデミックライセンスを提供しています。学校や施設はサイトライセンスを要求できますが、個々の学生は単一のライセンスを要求できます。どちらの場合でも、学術ライセンスは非商用使用のみに制限されていますが、機能的かつ無制限の更新を完全に提供します。サポートは含まれていません。「アカデミックライセンス要求」として問い合わせください。