SOCモデル:S32G399A、RTDバージョン4.0.2、HSEバージョン2.22.0、コンパイラ:GHS
SecOC機能を実装する際、顧客はHSEを使用してMACアドレスを生成しました。このプロジェクトでは、同じコア上の複数のタスクで同じキースロットが使用され、MACアドレスはCrypto_ProcessJob()関数を呼び出すことで生成されました。CANパケットを監視したところ、MACアドレスが更新されない異常が時折発生することが判明しました(パケットデータは更新されましたが、MACアドレスは更新されず、関数はE_OKを返しました)。
1. 添付ファイル「MAC value not updated.png」は、問題が再現された際にCANメッセージのMAC値に対応する信号が更新されていないことを示す波形図です。
2. 添付文書「S32G_MAC Generation Anomaly Analysis.7z」は、この異常に関するプロジェクトコードの概要です。
テストの結果、MAC生成関連の処理を同一タスクにまとめることで、MACが更新されない問題が解消されることが明らかになった。現在の分析では、この異常は複数のタスクでグローバルデータが上書きされることが原因である可能性が示唆されている。
MACアドレスを生成するためにcryptoを呼び出すという現在のマルチタスク機能を維持するために、 cryptoドライバを更新するか、設定を再構成することでこの問題を解決することは可能でしょうか?
こんにちは、 @RoseRice
こんにちは。暗号化ドライバの観点から言うと、関連するAPIは後続バージョンでも変更されていません。トラブルシューティングの履歴を見ると、CSMレイヤーで競合状態を解決するのが良いと思います。これはCSMレイヤーの定義にも合致しています。
BR
チェイン