概 要
マルチスレッドソフトウェアは複雑な動作をしていることが多く、ソフトウェアのタイミングを少し変更すると予期せぬ動作につながる可能性があります。タイミング関連の問題は、テストの後半、または悪いことに展開されたプロダクションコードで現れ、再現するのが難しいため、高価です。このリスクは、開発者がソフトウェアのトレースによってソフトウェアのランタイム動作を把握している場合に軽減されます。
Tracealyzer for VxWorks は、「大きな画像」でデバッガのパースペクティブを補完する20以上のグラフィカルビューを使用して、組み込みソフトウェアのランタイム動作を視覚化します。以前はトレースツールを使用していたかもしれませんが、Tracealyzerのビジュアライゼーションは新しいレベルにあります。これらのビューは革新的な方法で相互接続されており、非常にシンプルで直感的に使用でき、Tracealyzerは非常に強力な分析ツールになります。
仕 様
Traxalyzer for VxWorksは、VxWorks(wvLib)のビルトイントレースレコーダーからデータを読み取り、VxWorks 7やマルチプロセッサシステムを含むv5.5以降のすべてのVxWorksバージョンと互換性があります。これは純粋なソフトウェアソリューションであるため、Tracealyzerを使用するために追加のハードウェアは必要ありません。
Tracealyzerは、製品開発にいくつかの高いレベルの利点をもたらす前例のない洞察を提供します。複雑なソフトウェアの問題を短時間で解決し、将来の問題を防止し、ソフトウェアのパフォーマンスを改善する新しい方法を見つけるために、より堅牢な設計を開発します。
Tracealyzerは実験室ツールとして使用できますが、死後分析にも使用できます。一部のお客様は、リリースビルドでレコーディングを有効にしているため、分析が困難な現実の問題について非常に貴重なトレース診断が可能です。
VxWorks(wvLib)のトレースレコーダーは、最新のイベント履歴をRAMリングバッファに保存したり、デバイスファイルシステムにトレースを継続的に保存したり、開発環境に直接ストリームしたりするための "フライトレコーダー"として設定できますコンピューター。
Traxalyzer for VxWorksは、ダウンロードページとWind River Marketplaceから入手できます。
Tracealyzerとは
◆ 世界NO1のトレース機能を持つTracealyzer
おそらく以前にいくつかのトレースツールを使用されているかもしれまsんが、これは単なるトレースビューア以上のものです。これは、2004年以降に開発された最先端のビジュアライゼーションであり、トレースをもっと分かりやすくするために設計されています。ビジュアライゼーションは、ほとんどのRTOSイベントの意味を実際に理解し、関連するイベントやビューを接続してビジュアライゼーションを改善する高度な分析を実行します。これにより、データから結論を引き出し、問題を理解し、解決策を検証することがずっと簡単になります。
◆ 世界NO1のシステムデバッガ
Tracealyzerは、IAR、Keil、Eclipseツールなどの従来のデバッガと並行して使用でき、システムレベルでいくつかの追加ビューを備えた詳細なデバッガビューを補完し、従来のデバッガでは不十分なリアルタイムの問題を理解するのに理想的です。例えば、モータ制御のようなリアルタイムシステムでは、デバッグのためにシステムを停止させることができないことが多い。ソフトウェアトレースを使用することで、システムの実行中にリアルタイムで組み込みソフトウェアと関心のある変数を記録できます。
◆ Tracealyzer4
〈racealyzer4機能概要〉
Tracealyzer 4に は、タスクスケジューリングと割り込みハンドラ/ ISR実行、タスクタイミング(実行時間とその他のメトリック)、タスク優先度、CPU負荷、メモリ使用量、タスク間の相互作用など、実行時動作の 30以上のビューが用意されていますメッセージキュー、セマフォおよびミューテックスオブジェクトを介してハンドラ/ ISRを中断する。このようにして、タスクの優先順位、実行時間、およびタイムアウトが適切かどうかを確認して、タスクの優先またはブロックによるタイムアウトエラーを回避できます。例えば、USBタスクは応答時間を短縮し、セマフォータイムアウトを回避するために、TCP / IPタスクをプリエンプトする必要がありますか?おそらく、いくつかのミューテックスが多くのタスクで使用されるため、頻繁に実行がブロックされ、遅延が発生する可能性があります。
また、アプリケーションコードから「ユーザーイベント」のカスタムロギングを実行して、他のビューと並行して、時間とともに状態と変数を表示することもできます。これは、モータ制御ループなど、アルゴリズムのリアルタイム動作を解析してデバッグするために使用できます。ソフトウェアロジック自体とそのパフォーマンス。たとえば、実行時間はどれくらい必要ですか?より速い速度でコントロールループを実行できますか?タスクのタイミングは安定していますか?
〈プロファイリングビュ〉
プロファイリングビュあなたが最もリソースを使用するシステム(例えばプロセッサ時間とヒープメモリ)の何の部分を見ることができます。非効率的なコードのために、動機付けされたものよりもはるかに多くのCPUサイクルを使用しているのでしょうか?メモリ使用量ビューでは、メモリリークの可能性を特定することもできます。「残っているだけを表示する」オプションを使用して、メモリリークの可能性があるすべてのイベントを表示して、「フリー」イベントと一致するすべての「malloc」イベントをフィルタリングできます。
〈メモリリーク解析〉
すべてのビューは巧みに相互接続されているため、1つのビューでデータポイントをクリックし、関連する別のビューで対応する場所を表示できます。さらに、すべてのタイムラインビューを同期させることができますので、サイドビューをスクロールしてズームすることができます。このように、複数の視点から同時に利益を得ることができ、トレースをよりよく理解することができます。
トレースは、サポートされているデバッグプローブを使用するか、USBやTCP / IPなどのカスタムターゲットホストインタフェースを使用して、リアルタイムでストリーミングできます。今のところこれはFreeRTOS、Micrium、SafeRTOSでサポートされていますが、追加のストリーミングサポートが予定されています。
特別なトレースハードウェアは必要ありませんTracealyzerは最小のオーバーヘッドで効率的なソフトウェア計測に依存しているためです。この方法では、本質的にどのプロセッサまたはマイクロコントローラでも動作しますが、トレースレコーダモジュールでは数キロバイトが使用可能であると仮定します。これは、STMicroelectronics STM32、NXP LPCおよびKinetisシリーズ、Renesas Synergy、Silicon Labs EFM32、Cypress PSoC、Atmel SAM、TI MSP432、TI TMC4、およびInfineon XMC4などのARM Cortex-M MCUを含む32ビットターゲットプロセッサ向けです。 。また、Renesas RX、Renesas RZ、Microchip PIC32、Atmel AVR32、ARM Cortex-R、ARM Cortex-A、Xilinx Zynq、Xilinx Microblaze、Altera Nios IIおよびSynopsys ARCプロセッサもサポートしています。また、プロセッサファミリがまだ直接サポートされていない場合でも、独自のポートを簡単に開発できます。主に現在の時刻を読むために、いくつかのマクロを定義するだけです。
デプロイされたシステムでもそれを使用して、それ以外の場合は非常に再現しにくい散発的なエラーからトレースを取得することさえできます。トレースを有効にして製品を出荷する顧客があります。検出されたエラーに最新のトレースを保存することにより、導入された顧客操作の問題に関する貴重な情報を得ることができます。
〈統合開発環境への対応〉
IAR Embedded Workbench、KeilμVision(MDK)、Atmel Studio、Microchip MPLAB X IDE、Wind River Workbench、EclipseベースのIDE(Atollic TrueStudio、SW4STM32、Code Composer Studio(TI CCS)など)など、いくつかの主要なIDEが明示的にサポートされています。)、NXP LPCxpresso / MCUxpressoなど)。
Tracealyzerは、RAMの内容をホスト側のファイル(.binまたは.hex)に保存するか、ホストにトレースデータをストリーミングするためのターゲットホストインターフェイスを使用できる限り、任意のIDEで使用できます。ただし、Keil RTX5バージョンではデータアクセスにKeilμVision(Keil MDK)バージョン5.23以降が必要です。
〈RTOSとフリーOSへの対応〉
他のトレースツールとは異なり、FreeRTOS、Amazon FreeRTOS(a:FreeRTOS)、SafeRTOS、MicriumμC/ OS、ThreadX、Keil RTX5、VxWorksなど、複数のRTOSおよびLinuxプラットフォームがサポートされています。したがって、後でプラットフォームを変更することにした場合、Tracealyzerを使い続けることができます。
トレースの利点
なぜトレースするのですか?〉
Percpeio CEO Johan Kraft氏のプレゼンテーションであるEmbedded Systemsの効率的なデバッグのためのトレースビジュアライゼーションは、ソフトウェアトレースの世界への優れた導入、トレースデータのビジュアル化が重要視されていること、
パワフルなビジュアライゼーションと組み合わせたソフトウェアトレースは、これまでにない洞察を可能にします。ソフトウェア開発の生産性と品質を改善し、プロジェクトのリスクを軽減し、市場投入までの時間を短縮します。
ソースコードだけでは、マルチタスクソフトウェアシステムが実行時に実際にどのように動作するかを完全に把握することはできません。リアルタイムの振る舞いは、タスクや割り込みのタイミング、その相互作用や入力など、他の多くの要素にも依存します。Tracealyzerのような洗練されたトレースツールを使用する と、システムの実行時の世界をよりよく理解し、開発、デバッグ、検証を高速化できます。
マルチタスク組み込みシステムの設計とデバッグの課題については、このホワイトペーパーを読むことをお勧めします。
〈より迅速なトラブルシューティング〉
Tracealyzerは、まれにしか発生しない散発的なエラーをキャプチャすることができます。必要とされる時間のほんの一部で、多くの組み込みソフトウェアの問題を解決できます。Tracealyzerのレコーディングは、研究室の既存のデバッガと並行して使用することも、まれな散発的なエラーを捕捉するフィールドシステムに展開することもできます。
〈より良いソフトウェア品質〉
Tracealyzerは、特定の困難な問題に使用するだけの「消火器」ではありません。また、タイムアウトに近いシステムコールをブロックするなど、潜在的な将来の問題を発見して回避することもできます。さらに、Tracealyzerは現在のシステムランタイムのダイナミクスをよりよく理解するため、新しいフィーチャを設計するときに、タイミング、CPU使用率、スケジューリングまたは他のタスクのやりとりに関連する問題を引き起こす可能性のある不適切な設計を避けることができます。
〈よりよい性能〉
改善された洞察により、組み込みソフトウェアのパフォーマンスを改善する新しい方法を見つけることもできます。タスクタイミングの小さな変化がパフォーマンスを大幅に向上させる可能性のある「ぶら下がった果物」があるかもしれません。Tracealyzerは、リソースの競合を減らすために、優先度の高いタスクが遅れて実行され、タスクが少し遅れて実行される「ホットスポット」を見つける方法をいくつか提供しています。適切な視覚化がなければ、そのような最適化を見つけるのは非常に困難です。このようにして、より応答性の高いソフトウェアシステムを入手したり、同じハードウェアプラットフォームに多くのソフトウェア機能を組み込むことができます。
〈制御システムのチューニング〉
コントロールシステムの開発者は、ユーザーイベントと呼ばれるカスタムアプリケーションデータをプロットするサポートから利益を得ることができます。制御性能の異常をよりよく理解するために、制御信号(センサ入力およびアクチュエータ出力)のプロットをソフトウェアタイミングと相関させることができます。さらに、タスクタイミング(例えば、周期性)のプロットを使用して、制御性能に影響を及ぼすソフトウェアタイミング変動を調べることができる。
〈他の利点〉
改善された洞察力により、新しい開発者の迅速な導入が可能になり、組み込みデータベース、タッチスクリーンドライバ、通信スタックなどの新しいサードパーティ製ソフトウェアのパフォーマンスを評価する可能性も高まります。最後に、組み込みソフトウェア用のいくつかの一般的なオペレーティングシステムをサポートしているため、別のオペレーティングシステムに切り替える場合でもTracealyzerのサポートを維持することができます。
ライセンス
◆ Percepio Tracealyzerホストアプリケーションは、開発席またはチームごとにライセンスされています。以下のライセンスタイプが利用できます。
・ ノードロックライセンス:特定のコンピュータにバインドされたライセンスキー。個々のユーザーを対象
・ フローティングネットワークライセンス:最大同時ユーザー数、単一のサイトで無制限のインストールが可能です。中小規模のチームを対象としています。
・ サブスクリプションライセンス:サポートされているほとんどのRTOSでTracealyzerを使用できるフローティングライセンス。毎年更新が必要です。
・ アカデミックライセンス:学術機関および学生のための低コストおよびフリーライセンス。非営利目的でのみ使用可能なライセンス。
◆ 無料評価
限られた時間の間、Tracealyzerを無料で評価することができます。ダウンロードページで評価用に登録すると、数分でライセンスキーが電子メールで送信されます。これはノードロックライセンスであり、自動化されたフォームを使用して拡張することはできません。評価に時間がかかる場合は、ポジティブワンまでご連絡ください。
評価ライセンスは評価用であり、商用プロジェクトの実際の問題には使用できません。
◆ 購買
・ ポジティブワンまで問い合わせください。
・ すべて組み込み開発ツールとプロセスに特化しており、Tracealyzerを稼働させるのに役立ちます。
◆ ライセンス条項
利用規約のページ およびプライバシーポリシーを確認ください。アプリケーションの使用は、エンドユーザー使用許諾契約の対象です。
◆ ノードロックされたライセンス
個々の開発者を対象としています。Tracealyzerを1台のコンピュータで実行できます。1年間のサポートと無料のアップデートが含まれています。その後、毎年メンテナンス契約を購入してアップデートを引き続き受けることができます。
◆ フローティングライセンス
中小規模のワークグループ向けです。ライセンスは、グループまたは組織内で共有され、インストール数に制限はありませんが、同時に使用できるユーザー数に上限があります。1年間のサポートとアップデートが含まれており、年間メンテナンス契約でこれを拡張することができます。
◆ サブスクリプションライセンス
並行して実行される多くのRTOSプロジェクトが存在する大規模な開発グループに合わせたソリューション。また、複数のRTOSを評価していて、どのRTOSを使用するかをまだ決めていない場合にも便利です。サブスクリプションライセンスは、サポートされているすべてのオペレーティングシステム*でTracealyzerを使用できるフローティングライセンスです。1年間有効で、無料のサポートとアップデートだけでなく、Percepioがその期間中にリリースするTracealyzerアドオン製品も含まれています。
◆ サポート付き大学パッケージ
大学などの高等教育機関では、共通の共有ライセンスキーを持つマルチユーザライセンスであるUniversity Packageを提供しています。
◆ アカデミックユーザの無料ライセンス
教育や学術研究のユーザー向けに、すべてのTracealyzer製品に無料のアカデミックライセンスを提供しています。学校や施設はサイトライセンスを要求できますが、個々の学生は単一のライセンスを要求できます。どちらの場合でも、学術ライセンスは非商用使用のみに制限されていますが、機能的かつ無制限の更新を完全に提供します。サポートは含まれていません。
学術ライセンスを取得するには、大学の電子メールと電子メールの主題 「アカデミックライセンス要求」として問い合わせください。