S32K3 セーフティ ペリフェラル ドライバ(SPD)バージョン1.0.3のバグを報告しています。具体的には、eMcemモジュールのXDM設定ファイルにあり、Elektrobit(EB)Tresos Studioへのインポートを妨げています。
環境
┌───────────────────┬─────────────────────────────────────────┐
│ アイテム │ バージョン / 経路 │
├───────────────────┼─────────────────────────────────────────┤
│ MCU │ S32K344(S32K3XX) │
├───────────────────┼─────────────────────────────────────────┤
│ SPD │ S32K3_SPD 1.0.3 (S32K3_SAF_1.0.3_D2306) │
├───────────────────┼─────────────────────────────────────────┤
│ RTD │ SW32K3_RTD 4.4 R21-11 3.0.0P01 │
├───────────────────┼─────────────────────────────────────────┤
│ EB Tresos │ 29.0.0(C:\EB\tresosに設置)│
├───────────────────┼─────────────────────────────────────────┤
│ S32 Design Studio │ 3.6.0│
└───────────────────┴───────────────────────────────────────┘
問題の説明
EB TresosプロジェクトにeMcemモジュール(eMcem_TS_T40D34M10I3R0)をインポートしようとすると、XDMパーサーが次のエラーをスローします。
▎「タグ 'a' の属性 'a' が無効です」config/eMcem.xdm の 717 行目
これにより、eMcemモジュールがEB Tresosプロジェクトに完全にインポートされることが防止されます。
根本原因分析
ファイル C:\NXP\S32K3_SPD_1.0.3\eclipse\plugins\eMcem_TS_T40D34M10I3R0\config\eMcem.xdm の RecoveryTimeoutEnabled パラメータブロックの 715 ~ 718 行目に、無効な XDM スキーマ構造が含まれています。
バグのあるコード(715~718行目):
問題は、 です。XDMスキーマ(http://www.tresos.de/_projects/DataModel2/08/attribute.xsd)によれば、要素は存在しません
子供の頃に別の要素を含むこと。
同じファイル内の他のすべての箇所(例えば、684~687行目のReactionTypeパラメータ)で使用される正しい構造は次のとおりです。
正しいコード:
これは、eMcem.xdm ファイル全体の中で、この不正なネスト構造が見られる唯一の箇所です(他の 20 個以上の IMPLEMENTATIONCONFIGCLASS ブロックは正しく構成されています)。これは明らかに、SPDパッケージングプロセスにおけるコピー&ペーストのエラーです。
認証
- 同じSPD 1.0.3パッケージのBistモジュール(Bist_TS_T40D34M10I3R0)とSafetyBaseモジュール(SafetyBase_TS_T40D34M10I3R0)にはこのバグ(.xdm)はありませんファイルは正しく構造化されており、問題なくEB Tresosにインポートされます。
エラー。
- Bist.xdm ファイルには、ネストされた name="IMPLEMENTATIONCONFIGCLASS"> がまったくないことを確認しました。
なぜこれが行き詰まりなのか
メタ・インフ/クリプトマニフェストです。MFとMETA-INF/CRYPTOMANIFESTSIG。eMcem プラグイン内の MF ファイルには、キープラグインファイルに対する DSA 暗号署名(キー ID: Freescale、プロバイダー: dreisoft.tresos.launcher2.CryptoKeyProvider)が含まれています。
config/eMcem.xdm..xdmへのいかなる変更もファイルの変更(たとえ1行の修正であっても)によってDSA署名検証が破綻し、EB Tresosがライセンス/整合性エラーでモジュールを拒否する原因となります。
これにより回復不能な膠着状態が生じます:
- バグでインポートできない — XDMスキーマ検証に失敗
- バグを修正できない — DSA署名検証失敗→ライセンスエラー
- 署名を削除できない — EB Tresosが起動に失敗(プラグインの整合性チェック)
要求
以下のいずれかをご入力ください。
1.当社の環境と互換性のあるSPDのホットフィックスリリース(または少なくとも、更新されたCRYPTOMANIFEST署名を含む修正済みeMcem.xdmファイル)
2.この修正を含む最新のSPDバージョン(例:1.0.4以降)
3. DSA署名検証エラーを発生させることなく、eMcem.xdmに必要な1行の修正を適用できるライセンスの再アクティベーションまたは回避策
4. この問題を解決するより新しいSPDバージョンが存在するかどうかの確認と、ダウンロード/アップグレード手順
この問題がS32K344セーフティソフトウェアの統合、特にEB TresosのeMcem(拡張マイクロコントローラエラーマネージャ)モジュール構成を妨げています。
補足事項
SPD 1.0.3リリースノートには、RTD 3.0.0との互換性について記載されています。/ 3.0.0P07。当社ではRTD 4.4(SW32K3_RTD_4.4_R21-11_3.0.0_P01)を使用しています。また、SPD 1.0.3とRTD 4.4の互換性状況を確認してもらえますか?また、新しいバージョンかどうかも教えていただけますか
RTD 4.xの統合にはSPDバージョンが必要ですか?
---
ご協力ありがとうございました。追加の情報やログが必要な場合はお知らせください。
よろしくお願いいたします。
こんにちは、 @WuDiDi さん、
この問題はSPD 1.0.4でも発生しています。
SPD 1.0.5とSPD 1.0.6で修正されているのが見えます:
SPDバージョン1.0.5は、S32K3_S32M27xリアルタイム・ドライバASR R21-11バージョン5.0.0および4.0.0と互換性があります。
バージョン4.0.0は、S32K3Eシリーズ(S32K39xおよびS32K36x)を除くすべての派生機種でサポートされています。
SPDバージョン1.0.6はS32K3リアルタイムドライバーバージョン7.0.0と互換性があります+ 6.0.0。
新しいRTD/SPDバージョンにアップデートできますか?
バージョン1.0.3以降、多くのRTD、SPDのバグが修正されました。
なお、NXPは古いソフトウェアバージョンに対してホットフィックスを提供していません。
SPD 1.0.3の互換性については、リリースノートで明示的に指定されたRTDバージョンとの機能のみを保証します。他のRTDバージョンとの互換性は保証されません。
よろしくお願いいたします。
ダニエル
こんにちは、 @WuDiDi さん。
フォローアップの質問は元のトピックとは関係ありません。
新しいスレッドを作ってもらえますか?
よろしくお願いします。
BR、ダニエル