Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

AUTOSAR のインスタンスごとのメモリの設定

AUTOSAR のインスタンスごとのメモリ (PIM) を AUTOSAR アプリケーション用にモデル化するには、インスタンスごとのメモリの定義を ARXML ファイルからインポートするか、インスタンスごとのメモリのコンテンツを Simulink® で作成します。上位の PIM ワークフローの詳細については、インスタンスごとのメモリを参照してください。

AUTOSAR 型のインスタンスごとのメモリ (ArTypedPerInstanceMemory) により、AUTOSAR ソフトウェア コンポーネントの各インスタンスで使用できる AUTOSAR 型のメモリ ブロックが定義されます。AUTOSAR ランタイム環境では、キャリブレーション ツールで測定およびキャリブレーションのための arTypedPerInstanceMemory にアクセスできます。

AUTOSAR PIM をモデル化するには、モデルで Simulink ブロック信号、離散状態、またはデータ ストアを使用できます。

AUTOSAR 型のインスタンスごとのメモリとしてのブロック信号および状態の設定

AUTOSAR モデルで Simulink ブロック信号と離散状態データ用に arTypedPerInstanceMemory ブロックを生成するには、コード マッピング エディターを開いて [Signals/States] タブを選択します。信号と状態を選択して arTypedPerInstanceMemory にマッピングします。以下に例を示します。

  1. arTypedPerInstanceMemory ブロックの生成対象となる信号または状態が含まれる AUTOSAR モデルを開きます。この例では、モデル autosar_swc_counter を使用します。

  2. AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[Signals/States] タブを選択します。使用可能な信号のリストで、sum_out を選択します。信号を選択すると、モデル ブロック線図で信号が強調表示されて、プロパティ インスペクターに信号属性が表示されます。プロパティ インスペクターを使用して、信号属性を変更します。[Mapped To] ドロップダウン リストで、[ArTypedPerInstanceMemory] を選択します。信号コードとキャリブレーション属性の詳細については、AUTOSAR 変数へのブロック信号とブロック状態のマッピングを参照してください。

  3. [Signals/States] タブの使用可能な状態のリストから、状態 X を選択します。プロパティ インスペクターを使用して状態属性を変更します。[Mapped To] ドロップダウン リストで、[ArTypedPerInstanceMemory] を選択します。

コードを生成すると、次のようになります。

  • エクスポートされた ARXML ファイルに [ArTypedPerInstanceMemory] として設定した信号と状態の AR-TYPED-PER-INSTANCE-MEMORYS 記述が含まれます。

  • 生成された C コードには信号変数と状態変数の Rte_Pim_* API 呼び出しが含まれます。

AUTOSAR コンポーネント モデル内の参照モデルの場合、Embedded Coder® ではモデルの参照コード生成用に内部信号と状態がマッピングされます。内部信号と状態は、マルチインスタンス モデル参照の場合は AUTOSAR ArTypedPerInstanceMemory に、単一インスタンス モデル参照の場合は、AUTOSAR StaticMemory にマッピングされます。

AUTOSAR 型のインスタンスごとのメモリとしてのデータ ストアの設定

AUTOSAR モデルで Simulink Data Store Memory ブロック用に arTypedPerInstanceMemory ブロックを生成するには、コード マッピング エディターを開いて [Signals/States] タブを選択します。データ ストアを選択して arTypedPerInstanceMemory にマッピングします。以下に例を示します。

  1. arTypedPerInstanceMemory ブロックの生成対象となるデータ ストアが含まれる AUTOSAR モデルを開きます。この例では、モデル autosar_bsw_sensor1 を使用します。

  2. AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[Data Stores] タブを選択します。使用可能なデータ ストアのリストで、データ ストア LowSetPoint を選択します。データ ストアを選択すると、モデル ブロック線図で Data Store Memory ブロックが強調表示され、プロパティ インスペクターにデータ ストア属性が表示されます。プロパティ インスペクターを使用して、データ ストア属性を変更します。[Mapped To] ドロップダウン リストで、[ArTypedPerInstanceMemory] を選択します。データ ストア コードとキャリブレーション属性の詳細については、データ ストアの AUTOSAR 変数へのマッピングを参照してください。

コードを生成すると、次のようになります。

  • エクスポートされた ARXML ファイルに [ArTypedPerInstanceMemory] として設定したデータストアの AR-TYPED-PER-INSTANCE-MEMORYS 記述が含まれます。

  • 生成された C コードにはデータ ストア変数の Rte_Pim_* API 呼び出しが含まれます。

モデルをビルドするときに、生成される XML ファイルでは、インスタンスごとのメモリを参照する Data Store Memory ブロックごとに排他領域が定義されます。インスタンスごとのメモリにアクセスするすべてのランナブルは、対応する排他領域内で実行されます。複数の AUTOSAR ランナブルが同じデータ ストア メモリ ブロックにアクセスする場合は、エクスポートされた AUTOSAR の指定により、AUTOSAR の排他領域を使用することによってデータの一貫性が保たれます。この仕様は、ランナブルがインスタンスごとのメモリのグローバル データに相互排他的にアクセスできるようにし、データの破損を防止します。

[needsNVRAMAccess] を選択すると、SERVICE-NEEDS エントリが XML ファイルで宣言されます。このエントリは、インスタンスごとのメモリが RAM ミラー ブロックであることを示し、NvM マネージャー モジュールからのサービスを必要とします。

参考

| | | | | |

関連する例

詳細