次の方法で共有


リアルタイムのコア アプリケーション設計の提案

リアルタイム (RT) コア アプリケーションは、ベア メタル上で実行されるか、リアルタイム コア上でリアルタイム オペレーティング システム (RTOS) を使用して実行されます。 HL コア アプリケーションの設計に関する推奨事項の多くは、RT コア アプリケーションの設計にも適用されます。 このトピックでは、RT コア アプリケーションを設計する際に考慮する必要のある設計上の推奨事項について説明します。

  • ウォッチドッグ タイマーを使用する: デッドロックを検出して適切な回復ロジックを実装できるように、MT3620 ウォッチドッグ タイマーを有効にして実装することをお勧めします。 詳細については、「RTAppでウォッチドッグ タイマーを使用する」を参照してください。 これは、RT アプリケーションが HL コア アプリケーション (コア間メールボックスなど) に問題を通知し、デバイスのリセットなど、いずれかのアプリケーションで適切なアクションを実行できるようにする重要なポイントになる場合もあります。 これは、次の方法で実行できます。
    • HL コア アプリケーションから PowerManagement_ForceSystemReboot 関数を呼び出して、デバイスを再起動します。 デバイス での再起動のレベルを参照してください。
    • MT3620 の電源管理ピン (PMU_EN、EXT_PMU_EN、またはSYSRST_N) を使用して専用の GPIO を介してハードウェア リセットを実行することで、HL コア API をバイパスします。 PMU_ENとEXT_PMU_ENの詳細については、電源ダウンに関する考慮事項を参照してください。 SYSRST_Nを使用したハードウェア リセットには、通常、ダイオードと RC フィルターを介してデバイスのSYSRST_N ピンに接続された、最大 3 個 (コアごとに 1 つずつ) の専用リセット GPIO を備えたデバイス 回路図の設計が含まれます。 ハードウェア リセットを実行すると、任意のコアで実行されているアプリケーションから決定論的な回復が必要な場合に、HL コアアプリケーションおよび RT コア アプリケーションから独立したアクションを実行できます。

手記

GPIO を使用して RT コア アプリケーションからデバイスをリセットすることを非常に慎重に検討してください。そのアプリケーションのプログラミングや設計の意図しない影響 (デバイスの継続的なリセットなど) によって、デバイスがオペレーティング システムとアプリケーションの更新プログラムを受信できなくなる可能性があるためです。

  • HL コア アプリケーションと RT コア アプリケーションを組み合わせたプロジェクトでコア間通信を実装する: 明示的に必要でない場合でも、HL コア アプリケーションと RT コア アプリケーション間の最小限の通信交換を実装することをお勧めします。 詳細については、「リアルタイム対応アプリケーションとの通信」を参照してください。 コア間通信がアプリケーション アーキテクチャ全体の一部として明示的に設計されている場合の明らかなデータ交換に加えて、全体的なデバイスの状態を相互に管理できるように、互いの状態に関して 2 つの当事者が同期されていることが有用かつ重要です (コア間通信 サンプルを参照)。

MT3620 周辺機器と機能を使用するためのドライバーやサンプルなど、RT コア アプリケーションの開発に関する追加のリファレンス情報については、以下を参照してください。