このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
AUTOSAR のインスタンスごとのメモリの設定
AUTOSAR のインスタンスごとのメモリ (PIM) を AUTOSAR アプリケーション用にモデル化するには、インスタンスごとのメモリの定義を ARXML ファイルからインポートするか、インスタンスごとのメモリのコンテンツを Simulink® で作成します。上位の PIM ワークフローの詳細については、インスタンスごとのメモリを参照してください。
AUTOSAR 型のインスタンスごとのメモリ (ArTypedPerInstanceMemory
) により、AUTOSAR ソフトウェア コンポーネントの各インスタンスで使用できる AUTOSAR 型のメモリ ブロックが定義されます。AUTOSAR ランタイム環境では、キャリブレーション ツールでキャリブレーションおよび測定のための arTypedPerInstanceMemory
ブロックにアクセスできます。
AUTOSAR PIM をモデル化するには、モデルで Simulink ブロック信号、離散状態、またはデータ ストアを使用できます。
AUTOSAR 型のインスタンスごとのメモリとしてのブロック信号および状態の設定
AUTOSAR モデルで Simulink ブロック信号と離散状態データ用に arTypedPerInstanceMemory
ブロックを生成するには、コード マッピング エディターを開いて [信号/状態] タブを選択します。信号と状態を選択して arTypedPerInstanceMemory
にマッピングします。以下に例を示します。
arTypedPerInstanceMemory
ブロックの生成対象となる信号または状態が含まれる AUTOSAR モデルを開きます。この例では、モデルautosar_swc_counter
を使用します。AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[信号/状態] タブを選択します。使用可能な信号のリストで、
sum_out
を選択します。信号を選択すると、モデル ブロック線図で信号が強調表示されます。[マッピング先] ドロップダウン リストで、[ArTypedPerInstanceMemory]
を選択します。インスタンスごとのメモリの AUTOSAR 属性を表示および変更するには、 アイコンをクリックします。信号コードとキャリブレーション属性の詳細については、AUTOSAR 変数へのブロック信号とブロック状態のマッピングを参照してください。コンポーネントで参照されるサブモデルで信号および状態をマッピングしている場合は、AUTOSAR 変数へのサブモデル信号と状態のマッピングを参照してください。[Signals/States] タブの使用可能な状態のリストから、状態
X
を選択します。[マッピング先] ドロップダウン リストで、[ArTypedPerInstanceMemory]
を選択します。インスタンスごとのメモリの AUTOSAR 属性を表示および変更するには、 アイコンをクリックします。
コードを生成すると、次のようになります。
エクスポートされた 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
ブロックを生成するには、コード マッピング エディターを開いて [信号/状態] タブを選択します。データ ストアを選択して arTypedPerInstanceMemory
にマッピングします。以下に例を示します。
arTypedPerInstanceMemory
ブロックの生成対象となるデータ ストアが含まれる AUTOSAR モデルを開きます。この例では、モデルautosar_bsw_sensor1
を使用します。AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[データ ストア] タブを選択します。使用可能なデータ ストアのリストで、データ ストア
LowSetPoint
を選択します。データ ストアを選択すると、モデル ブロック線図で Data Store Memory ブロックが強調表示されます。[マッピング先] ドロップダウン リストで、[ArTypedPerInstanceMemory]
を選択します。インスタンスごとのメモリの AUTOSAR 属性を表示および変更するには、 アイコンをクリックします。データ ストア コードとキャリブレーション属性の詳細については、データ ストアの AUTOSAR 変数へのマッピングを参照してください。コンポーネントで参照されるサブモデルでデータストアをマッピングしている場合は、サブモデルのデータ ストアの AUTOSAR 変数へのマッピングを参照してください。
コードを生成すると、次のようになります。
エクスポートされた ARXML ファイルに
[ArTypedPerInstanceMemory]
として設定したデータストアのAR-TYPED-PER-INSTANCE-MEMORYS
記述が含まれます。生成された C コードにはデータ ストア変数の
Rte_Pim_*
API 呼び出しが含まれます。
モデルをビルドするときに、生成される XML ファイルでは、インスタンスごとのメモリを参照する Data Store Memory ブロックごとに排他領域が定義されます。インスタンスごとのメモリにアクセスするすべてのランナブルは、対応する排他領域内で実行されます。複数の AUTOSAR ランナブルが同じデータ ストア メモリ ブロックにアクセスする場合は、エクスポートされた AUTOSAR の指定により、AUTOSAR の排他領域を使用することによってデータの一貫性が保たれます。この仕様は、ランナブルがインスタンスごとのメモリのグローバル データに相互排他的にアクセスできるようにし、データの破損を防止します。
インスタンスごとのメモリの AUTOSAR 属性で、[needsNVRAMAccess] を選択すると、SERVICE-NEEDS
エントリが XML ファイルで宣言されます。このエントリは、インスタンスごとのメモリが RAM ミラー ブロックであることを示し、NvM
マネージャー モジュールからのサービスを必要とします。AUTOSAR 不揮発性メモリへのソフトウェア コンポーネントのアクセスをモデル化する方法の詳細については、AUTOSAR 不揮発性メモリのモデル化を参照してください。
起動時およびシャットダウン時に状態に関する情報を保持するデータ ストアの設定
ボトムアップ ワークフローおよびラウンドトリップ ワークフローを容易にするために、NVBlockNeeds プロパティ RestoreAtStart
と StoreAtShutdown
を設定して、NVRAM ブロックの状態データが起動時に読み取られてシャットダウン時に書き出されるように設定できます。これらのプロパティを設定するには、モデルのデータ ストアを ArTypedPerInstanceMemory
として設定し、プロパティ needsNVRAMAccess
を true
として設定する必要があります。
これらのパラメーターを対話的に設定するには、鉛筆アイコン を選択するか、プロパティ インスペクターの [NvBlockNeeds] セクションを使用して、コード マッピング エディターを使用できます。
これらのパラメーターをプログラムにより設定するには、関数 getDataStore
を使用してマッピング オブジェクトを設定できます。
mappingObj = autosar.api.getSimulinkMapping(modelName); mappingObj.mapDataStore(dsmBlockPath, 'ArTypedPerInstanceMemory', ... 'NeedsNVRAMAccess', 'true', ... 'RestoreAtStart', 'true', ... 'StoreAtShutdown', 'true');
参考
getDataStore
| getSignal
| getState
| mapDataStore
| mapSignal
| mapState
| Data Store Memory
関連する例
- AUTOSAR 変数へのブロック信号とブロック状態のマッピング
- AUTOSAR 変数へのサブモデル信号と状態のマッピング
- データ ストアの AUTOSAR 変数へのマッピング
- サブモデルのデータ ストアの AUTOSAR 変数へのマッピング
- AUTOSAR コンポーネントの動作のモデル化