こんにちは、
私は現在、s32k358 マルチコアで作業しており、IPC に共有可能なメモリを使用しようとしています。
IPC データ共有に core0status と core1status 変数を使用しようとしています。
ただし、両方の変数は同じメモリ内で宣言されているため、各コアが値を上書きします。
各コアで交換される core0status と core1status のアドレス。
ここで何が欠けているのでしょうか?添付のコードをご確認ください。
こんにちは、 @nirmal_masilamaniさん、
XRDC は、CM7_0 に DID=0、CM7_1 に DID=1 を割り当てるように適切に初期化する必要があります。XRDC ドメイン割り当てを確認してください。RTD の例を参照できます。
安全なファイルに関しては、アクセスを要求する必要があります。以前共有した FAQ を参照してください。
よろしくお願いします、
ジュリアン
こんにちは@Julián_AragónM 、
ご返信ありがとうございます。
NDA に署名したアカウントを持っていますが、それでも安全なファイルにアクセスできません。
また、S32K324の共有メモリプログラムを参照しましたが、私のプログラムでは
#define CORE_DOMAIN_ID (IP_XRDC->HWCFG1) は両方のコアで常に0 を表示します。
ここで何が欠けているのでしょうか?
こんにちは、 @nirmal_masilamani さん、
トレーニング プレゼンテーションもあります: S32K3 RTD XRDC、SEMA42、MPU、XBIC、および INTM トレーニング プレゼンテーション。ただし、S32K3 の場合はセキュリティ保護されたファイルです。アクセス権がない場合は、有効な NDA をアップロードしてリクエストする必要がある場合があります。セキュア アクセス権に関する FAQ | NXP Semiconductorsを参照してください。
公開されているアプリケーション ノートは次の 2 つです。
モジュールは非常に似ていますが、S32G デバイスと S32K デバイスにはいくつかの違いがあるため、アプリケーションノートをよくお読みください。
よろしくお願いします、
ジュリアン
こんにちは@Julián_AragónM 、
ご返信よろしくお願いします。
共有メモリの問題はドキュメントに従って解決されましたが、sema42 ドライバーを構成したいのですが、どうすればよいですか?
それに関するドキュメントを提供していただけますか?私はs32ds v3.5 RTD 4.0.0を使用しています。
こんにちは、 @nirmal_masilamaniさん、
共有変数は、CM7_1 (セカンダリ コア) ではなく、CM7_0 (ブート コア) によって 1 回だけ初期化されます。Core0 は、初期値を持つ共有グローバル変数の ROM から RAM へのデータコピーを実行しますが、Core1 はデータのコピーを無視してコード内でのみ使用します。
Core0 と Core1 間のリンカー ファイルは次のようになります。
S32K3 デュアル コアとコア間のメモリ共有に関する資料をプライベート メッセージで送信しました。
よろしくお願いします、
ジュリアン
こんにちは@Julián_AragónM 、
同じ例に従いましたが、両方のコアはドメイン ID として 0 を返します。
コア 2 でも sema を初期化する必要がありますか?
こんにちは、 @nirmal_masilamaniさん、
いいえ。XRDC が正しく設定されていない可能性があります。デフォルトでは、CM7_0 と CM7_1 の両方の DID = 0 になります。XRDC 構成に関するプライベート メッセージを送信しました。
よろしくお願いします、
ジュリアン