• 検索結果がありません。

2. 概念

2.13 RTE/SCHM コード生成方針

2.13.5 ビルドサポート

RTEのソースコードは,ビルド時にSW-C,およびBSWMとリンクするために本節の規則を守る必 要がある.

RTE/SCHM内部メモリに対するメモリマッピング

RTE/SCHMが割り当てるメモリオブジェクト(関数,およびグローバル変数)は,"Rte"を接頭辞とす

るメモリマッピングのマクロでラップして定義する【rte_sws_5088】.メモリマッピングについては,

関連文書Specification of Memory Mappingを参照.

AUTOSARデータプロトタイプ実装のメモリオブジェクトのメモリマッピング

AUTOSARデータプロトタイプ(AutosarDataPrototype)の実装のためのメモリオブジェクトに対す るメモリマッピングの定義は以下のルールに従う.

・ 〔rte_sws_7592〕の場合を除き,メモリ確保キーワードの<SEGMENT>は,ソフトウェアアドレ ッシング方式(SwAddrMethod)のショートネームとなる【rte_sws_7589】.

・ ソフトウェアアドレッシング方式(SwAddrMethod)の定義されていないAUTOSARデータプロト タイプ(AutosarDataPrototype)の実装のためにメモリオブジェクトが生成される場合,メモリ確 保キーワードの<SEGMENT>は,RTEGENが任意に決めてよい【rte_sws_a_0051】.

・ ソフトウェアアドレッシング方式(SwAddrMethod)のメモリ確保キーワードポリシ

(memoryAllocationKeywordPolicy)がAddrMethodShortNameである場合,メモリ確保キーワ ードの<ALIGNMENT>接尾辞は省略する【rte_sws_7047】.

・ ソフトウェアアドレッシング方式(SwAddrMethod)のメモリ確保キーワードポリシ

(memoryAllocationKeywordPolicy)がAddrMethodShortNameAndAlignmentである場合,メモ リ確保キーワードの<ALIGNMENT>接尾辞は〔rte_sws_7049〕,および〔rte_sws_7050〕で規 定されるアラインメントとなる【rte_sws_7048】.

・ AUTOSARデータプロトタイプ(AutosarDataPrototype)のソフトウェアアラインメント

(swAlignment)は,〔rte_sws_7050〕で規定される実装データ型(ImplementationDataType)のア ラインメントに優先して使用する【rte_sws_7049】.

・ プリミティブ実装データ型であるAUTOSARデータプロトタイプ(AutosarDataPrototype)のア ライメントは,ソフトウェアベース型(SwBaseType)のベース型サイズ(baseTypeSize)となる

【rte_sws_7050】.

・ RTEGENがAUTOSARデータプロトタイプ(AutosarDataPrototype)の実装のために複数のメモ

リオブジェクトを生成する場合,追加のメモリオブジェクトの<SEGMENT>はRTEGENが任意 に決めてよい【rte_sws_7592】.

・ 提供側ポートのAUTOSARデータプロトタイプ(AutosarDataPrototype)のソフトウェアアドレ ッシング方式(SwAddrMethod)は,要求側ポートのAUTOSARデータプロトタイプ

(AutosarDataPrototype)のソフトウェアアドレッシング方式(SwAddrMethod)に優先して使用す る【rte_sws_7590】.

・ 以下の全ての条件を満たす場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

〔nrte_sws_0180〕に準拠し,〔nrte_sws_0180〕におけるグローバル変数の所属パーティション は要求側ポートのAUTOSARデータプロトタイプ(AutosarDataPrototype)の所属するパーティ ション(EcucPartition)のショートネームとする【nrte_sws_0162】.

 〔rte_sws_7592〕〔rte_sws_a_0051〕のいずれかを満たす.

 パーティション構成である.

 メモリオブジェクトがグローバル変数である.

・ 以下の全ての条件を満たす場合,本RTEでは,メモリ確保キーワードの<SEGMENT>は

〔nrte_sws_0181〕に準拠する【nrte_sws_0163】.

 〔rte_sws_7592〕〔rte_sws_a_0051〕のいずれかを満たす.

 非パーティション構成である.

 メモリオブジェクトがグローバル変数である.

・ 以下の全ての条件を満たす場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

〔nrte_sws_0164〕に準拠し,〔nrte_sws_0164〕における関数の所属パーティションは AUTOSARデータプロトタイプ(AutosarDataPrototype)の所属するパーティション (EcucPartition)とする【nrte_sws_0178】.

 〔rte_sws_7592〕を満たす.

 パーティション構成である.

 追加のメモリオブジェクトが関数である.

・ 以下の全ての条件を満たす場合,本RTEでは,メモリ確保キーワードの<SEGMENT>は

〔nrte_sws_0165〕に準拠するものとする【nrte_sws_0179】.

 〔rte_sws_7592〕を満たす.

 非パーティション構成である.

 追加のメモリオブジェクトが関数である.

RTEGENが生成するその他のメモリオブジェクトのメモリマッピング

RTEGENが生成するその他のグローバル変数のメモリマッピングの定義は以下のルールに従う.

・ パーティション構成の場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

"VAR_<PID>_INIT"とする【nrte_sws_0180】.ここで,<PID>は,グローバル変数の所属する パーティション(EcucPartition)のショートネーム.

・ 非パーティション構成の場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

"VAR_INIT"とする【nrte_sws_0181】.

RTEGENが生成するその他の関数のメモリマッピングの定義は以下のルールに従う.

・ パーティション構成の場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

"CODE_<PID>"とする【nrte_sws_0164】.ここで,<PID>は,関数の所属するパーティション (EcucPartition)のショートネーム.

・ 非パーティション構成の場合,本RTEGENでは,メモリ確保キーワードの<SEGMENT>は

"CODE"とする【nrte_sws_0165】.

3. API仕様