ハード リアルタイムは、ハードウェア自体よりもソフトウェアの動作に関係しています。何かがハード リアルタイムかどうかを尋ねる場合、システム全体 (ハードウェア、RTOS、およびアプリケーション) に適用する必要があります。これは、ハード リアルタイムまたはソフト リアルタイムがシステム設計の問題であることを意味します。
仕様を超える負荷がかかると、ハード リアルタイム システムでさえ障害が発生しますが (できれば適切な障害表示があれば)、低負荷のソフト リアルタイム システムではハード リアルタイムの結果が得られます。時間内にどれだけの処理を行う必要があるか、およびどれだけの前/後処理を実行できるかが、ハード/ソフト リアルタイムの真の鍵となります。
一部のリアルタイム アプリケーションでは、一部のデータ損失は障害ではなく、システムの基準である特定のレベルを下回っているだけです。
ボードへの入力を生成し、小さなアプリケーションでそれらをカウントして、どのレベルでデータが失われるかを確認できます。ただし、そのアプリケーションを実行しているシステムに固有の評価が得られます。より多くの処理を開始するとすぐに、計算負荷が増加し、別のハード リアルタイム制限が発生します。
このボードは、必要最小限のスケジューラーを実行し、ほとんどのタスクで予測可能な優れたハード リアルタイム パフォーマンスを提供します。計算負荷の高い完全な RTOS を実行すると、おそらくソフト リアルタイムしか得られません。
Edit after comment
ソフトウェアのパフォーマンスを測定するために使用した最も効率的で簡単な方法 (スケジューラを使用すると仮定) は、ボード上でフリーラン ハードウェア タイマーを使用し、サイクルの開始と終了にタイム スタンプを付ける方法です。または、完全な RTOS タイム スタンプを実行すると、取得と移行が行われます。最大時間を保存し、1 秒間の値の平均を実行します。平均が約 50% で、最大が平均の 20% 以内であれば問題ありません。そうでない場合は、アプリケーションをリファクタリングするときです。アプリケーションが成長するにつれて、サイクル時間は長くなります。すべてのソフトウェア変更がサイクル タイムに与える影響を監視できます。
もう 1 つの方法は、ハードウェア タイマーを使用して周期的な割り込みを生成することです。間に合っている場合は、割り込みをリセットします。締め切りに間に合わない場合は、割り込みハンドラーが失敗を通知します。ただし、これはアプリケーションの実行に時間がかかる場合にのみ警告を表示しますが、ハードウェアと割り込みに依存しているため、見逃すことはできません。
これらのソリューションは、バックグラウンド タスクによって時間情報をあらゆる種類の端末に表示できるため、出力を監視するためにスコープを接続する必要もありません。監視が簡単な場合は、定期的に監視し、最後にタイミングの問題を解決するのを避けますが、問題が発生したらすぐに解決します。
お役に立てれば