S32G274はAコアにPFEファームウェアをロードし、MコアのCAN通信に影響を与えます。A の BSP35.0 の can0 と llcecan0 の両方の初期化コードを削除した後、M コアが PFE をロードしていないときに、M コアの can0 は正常に通信できるようになりました。しかし、/fsl-auto-yocto-bsp35.0/build_s32g274ardb2/conf/local.confに「DISTRO_FEATURES_append += 'pfe'」と「NXP_FIRMWARE_LOCAL_DIR = '/home/hhkj/linux3/fsl-auto-yocto-bsp35.0/firmware_bin/'」を追加した場合、つまり、PFE が A コアにロードされた後、M コアがクラッシュしたようです。CAN0 と SGMII モードを使用する M コアでは PFEMAC0 と pfemca1 を適用し、PFEMAC2 の RGMII モードを使用する A コアでは PFEMAC2 を適用する必要があるため、M コアで CAN0 通信のみが実行されている場合、M コアに PFE のファームウェアをロードすると A コアの CAN0 通信に影響する理由を知りたいです。

Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
LLCE/PFEをマルチコア環境でご使用いただいているとのことですが、以下の点についてもう少し詳しく教えていただけますか?
1. FlexCANとLLCE_CANの両方を使用しますか?MコアにFlexCAN0を適用しますか、それともAコアにLLCE_CAN0を適用しますか?
2. いただいた情報に基づき、MコアでPFEMAC0、AコアでPFEMAC2を使用する予定です。PFEマスターとして、AコアとMコアのどちらのコアを選択しますか?通常、マスターはPFEの初期化とファームウェアのロードを処理します。
3. もしよろしければ、アプリケーションまたはテストの要件を示す簡単な図を描いていただけますか?これにより、不適切な点がないか確認することができます。
BR
ジョーイ
Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
お問い合わせいただきありがとうございます。
ご質問を受け取りましたので、確認のお手伝いをさせていただきます。
BR
ジョーイ
Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreすみません、質問の仕方が間違っていたことに気づきました。言い直させてください。
カーネル A 上の BSP35.0 can0 および llcecan0 の初期化コードを削除した後、カーネル A が PFE をロードしない場合、カーネル M 上の flexcan0 は正常に通信できます。ただし、/fsl-auto-yocto-bsp35.0/build_s32g274ardb2/conf/local.conf に "DISTRO_FEATURES_append += 'pfe'" および "NXP_FIRMWARE_LOCAL_DIR = '/home/hhkj/linux3/fsl-auto-yocto-bsp35.0/firmware_bin/'" を追加すると、つまり、コアAにPFEをロードした後、コアMのflexcan0通信が停止し、コアMがクラッシュしたようです。コアMではSGMIIモードでFlexCAN0、PFEMAC0、pfemca1を使用し、コアAではRGMIIモードでPFEMAC2を使用する必要があるため、コアMでのみCAN0通信が実行されているのに、MカーネルにPFEファームウェアをロードするとコアAのCAN0通信に影響が出るのはなぜでしょうか?
1. MコアにFlexCAN0を適用したい。
2. PFEMACは外部世界と直接通信するため、マスターを区別する必要はまだあるのでしょうか?Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
お返事ありがとうございます!
1. テスト中に問題が発生したシナリオでは、MコアはFlexCANのみを使用していましたか?LLCEやその他の周辺機器も使用していましたか?
2. まず、AコアがPFEをロードした後、MコアのFlexCAN通信に問題があるのか、それとも競合によってMコアがクラッシュしたのかを確認できます。
BR
ジョーイ
Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M core1. MコアはFlexCANのみを使用します。
2. コアAにPFEをロードした後、コアMのFlexCAN通信が動作しなくなりました。このことから、コアMがクラッシュしたと推測しました。しかし、実際にクラッシュしたかどうかを判断する方法がわかりません。Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
1. 比較的簡単な方法としては、MコアのI/Oピンを定期的にトグルさせ、競合が発生したときにI/Oピンがトグルし続けるかどうかを確認する方法があります。あるいは、MコアにFlexCANドライバをロードし、次にAコアにPFEをロードして、I/Oピンが引き続きトグルするかどうかを確認することもできます。
2. デバッガを使用して、関連するレジスタの状態ビットの一部を表示してみてください。
BR
ジョーイ
Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreMコアにはIOフリップを1つだけ実装しました。AコアのPFEファームウェアがロードされている場合、MコアのIOフリップは停止します。AコアのPFEファームウェアがロードされていない場合、MコアのIOフリップは正常に動作します。Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
1. 前述のとおり、MコアとAコアの両方でPFEを使用する場合は、マスターとスレーブを確認する必要があります。一般的には、MコアをマスターとしてPFEファームウェアをロードし、PFEを初期化することをお勧めします。これにより、リソース管理が容易になり、起動も高速化されます。
アプリケーションに基づいてPFEをマスタークラスとスレーブクラスに分割する方法、およびHIFクラスを分割する方法を教えてください。
2. AコアにPFEファームウェアをロードする必要があり、その結果Mコアがクラッシュする場合は、リソースの競合が原因である可能性が非常に高いです。PFEリソースを確認し、競合のトラブルシューティングを行う必要があります。
より良いサポートを提供するためには、PFEの起動方法と、PFEをロードする際にMコアをマスターとして使用する必要があるかどうかを確認していただく必要があると思います。
お返事をお待ちしております!
BR
ジョーイ
Re: S32G274 loads the PFE firmware in the A core affects the CAN communication of the M coreこんにちは、 sdx111
お返事ありがとうございます!
マルチコアPFEの使用に関しては、推奨される方法およびアプリケーションの要件に従ってPFEファームウェアをロードすることをお勧めします。
BR
ジョーイ