Hi,
私たちはS32G274を使用しており、A53コアでLinuxを実行し、CM7コア0でFreeRTOSを実行しているアプリケーションがあります。U-Boot を使用してブート時にロードされる M7 のコード。これはすべて問題なく機能し、アプリケーションはIPCFを使用してLinuxとM7アプリケーション間でデータを交換します。
NXPから見たすべての例は、M7ファームウェアをロードして実行を開始する前にU-Bootでコマンド「dcache off」が実行されていることを示していますが、その後に「dcache on」が実行される例は見ていません。
この時点以降(Linuxを起動する前)にデータキャッシュを再びオンに戻すことはサポートされていますか?私たちはシステムの起動時間を短縮することに熱心であり、dcacheをオンにしてテストすると、パフォーマンスがかなり向上します。
ありがとうございます
リー
こんにちは@Lee_Mitchell、
内部チームによると、M7ファームウェアのロードが完了したら、「dcacheon」を使用できるとのことです。
前に述べた制限は、古いバージョンのドライバーにのみ適用されます。
私は実際にS32DS内にダウンロードされたIPCFパッケージに含まれていた私のシステムにインストールされているIPCF 4.9.0 D2310のユーザーマニュアルを見つけました、場所は次のとおりです。
C:\ NXP \ S32DS.3.5 \ S32DS \ソフトウェア\PlatformSDK_S32XX_4_0_0\ IPCF \ doc
そのバージョンのマニュアルには、V 4.6.0 のマニュアルで強調表示したメモはありません。
こんにちは@Lee_Mitchell、
ユーザーマニュアルは、IPCF 4.6.0でのみ入手可能です.exeをダウンロードする必要がありますNXP Inter-Platform Communication Framework (IPCF) ページの Software Offering セクションからファイル。
[GET IPCF FOR S32G2] を選択し、[SOFTWARE] タブに移動して [IPCF 4.6.0] を選択します。バージョン
IPCFを確認し、[ GENERATE BUNDLE INSTALLER]をクリックし、このインストーラを実行して対応するファイルを取得し、.exeを実行した後でインストールフォルダにあるファイルには、ユーザーマニュアルがあります。
あなたの特定のケースでは、U-Bootでコマンド「dcache on」を実行するために、内部チームと一緒にレビューしています、この応答時間は少し長くなりますので、私たちはあなたの忍耐に感謝します、関連情報が与えられたときに戻ってきます。
Hi Carlos,
ご回答ありがとうございます。あなたの質問に答えるために:
1) MicroSysのモジュールが提供するS32Gデバイスのカスタムボードを使用しています。
2)ここからIPCF 4.9.0を使用しています https://github.com/nxp-auto-linux/ipc-shm/tree/release/SW32G_IPCF_4.9.0_D2310
3) BSP 36.0 (MicroSysのパッケージで提供)
4) MicroSysが提供するU-Bootのバージョンを使用しており、これはBSP 36.0に基づいていると思います
IPCFのユーザーマニュアルを参照して、最新バージョンへのリンクを提供していただけますか?nxp.com で検索しても結果は得られません。
M7側では、関数ipc_shm_unmanaged_tx()で次のように見ることができます。
/* flush and invalidate dcache */
ipc_hw_flush_cache_local(instance);
ipc_hw_flush_cache_remote(instance);D_CACHE_ENABLE はコンパイル時に定義されます
したがって、少なくともM7側では、キャッシュはtxの前に無効になっていると思います。
実際には、M7アプリケーションの起動後にdcacheをオンにしてテストすると、問題なく機能しているようで、パフォーマンスが大幅に向上していますが、後日私たちを噛む可能性のある何かを見逃しているのではないかと心配しています。
こんにちは@Lee_Mitchell、
IPCF 4.6.0 のユーザーマニュアルには、次のように書かれています。
[IPCF Shared Memory Driver User Manual, Version 1.17, 05/2022, 36ページ]
次の質問に答えるのを手伝ってもらえますか?
1. S32G-VNP-RDB2 または カスタム ボードを使用していますか?
2. どのバージョンのIPCF を使用していますか?
3. BSP のどのバージョンを使用していますか?
4. U-Boot と ATF で同じバージョンを使用していますか?(手動でコンパイルを行っている場合)
よろしく。