0

Xpand/Xtend を使用してコードを生成する AUTOSAR 4.2.1 モジュールを開発しようとしています。artext デモンストレーター 1.6.0 を使用しています。しかし、私の質問は、デモンストレーターで新しい Ecu プラットフォーム プロジェクトを作成するときに、バリエーション ポイントを定義する概念が PDF (ECUConfigurationParameters.arxml) に見つからないということです (または、方法を見つけることに慣れていない可能性があります)。

デフォルトでは、arxml からパラメーター値を取得できます。しかし、別のビルド後のバリアント条件で定義されているパラメーターに複数の値がある場合、最初の値のみを取得しています。たとえば、arxml にこれが含まれている場合

<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF"> /AUTOSAR/EcucDefs/Com/ComConfig/ComIPdu/ComIPduCancellationSuppo rt</DEFINITION-REF>
<VARIATION-POINT>
<POST-BUILD-VARIANT-CONDITIONS>
<POST-BUILD-VARIANT-CONDITION>
<MATCHING-CRITERION-REF DEST="POST-BUILD-VARIANT-CRITERION">/EcucDemo/PostBuildConfigSet</MATCHING-CRITERION-REF>
<VALUE>1</VALUE>
</POST-BUILD-VARIANT-CONDITION>
</POST-BUILD-VARIANT-CONDITIONS>
</VARIATION-POINT>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF"> /AUTOSAR/EcucDefs/Com/ComConfig/ComIPdu/ComIPduCancellationSuppo rt</DEFINITION-REF>
<VARIATION-POINT>
<POST-BUILD-VARIANT-CONDITIONS>
<POST-BUILD-VARIANT-CONDITION>
<MATCHING-CRITERION-REF DEST="POST-BUILD-VARIANT-CRITERION">/EcucDemo/PostBuildConfigSet</MATCHING-CRITERION-REF>
<VALUE>2</VALUE>
</POST-BUILD-VARIANT-CONDITION>
</POST-BUILD-VARIANT-CONDITIONS>
</VARIATION-POINT>
<VALUE>0</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>

もしそうなら、Xpandで「真」としての価値を与えてくれますCom.ComConfig.ComIpdus.ComIPduCancellationSupport。2 番目の値「false」にアクセスできません。

ビルド後のバリアント条件に基づいてパラメーター値を取得するにはどうすればよいですか?

私は次のことをしようとしています:

«DEFINE Gen1 FOR varianthandling::VariationPoint»
    «EXPAND Gen1::GetThings»
«ENDDEFINE»

«DEFINE GenMain FOR AUTOSAR::EcucDefs::Com»
        «EXPAND Gen1 FOR varianthandling::VariationPoint»
«ENDDEFINE»

これにより、「タイプ xpand2::Type の定義 ComOtherVarGen が見つかりませんでした」というエラーが表示されます。上記を達成するにはどうすればよいですか?「MainObj」のテンプレートに機能を追加/変更しようとしているわけではないので、「AROUND」は探しているものではないことに注意してください。

どんな助けでも大歓迎です。

4

1 に答える 1