こんにちは、NXPチーム
S32G274ardb2 ハードウェアで BSP40 + IPCF_4.9.0_D2310 を使用しています。
「ipc-shm-uio.ko」を構築しました& "ipc-shm-sample.ko" は yocto ビルド システムを使用します。
返信「 Re: NXP S32G274A RDB2 の問題 - IPCF - NXP コミュニティ」に記載されている手順に従いました。
しかし、insmod ipc-shm-sample.ko ファイルを実行しているときに、「ローカル shm 領域を予約できません」というエラーが発生します。
ramjeey_0-1753444077208.png
私は.koを構築しました.ko をビルドしたときに「バージョンマジック」エラーが発生したため、yocto ビルドシステムを使用してファイルをビルドしました。ファイルを手動でUMの手順に従い、.koを挿入していましたファイル。
root@s32g274ardb2:/lib/modules/5.15.145-rt73+g3a3fafb13baa+p0/extra# dmesg | grep uio
[ 0.802110] hse-uio 40210000.mu0b:ファームウェアが見つかりません
[ 243.511859] ipc_shm_uio: バージョンマジック '5.15.145-rt73SMP preempt mod_unload aarch64' は '5.15.145-rt73+g3a3fafb13baa+p0 であるべきであるSMP プリエンプト mod_unload aarch64'
[ 2131.570066] ipc_shm_uio: バージョンマジック '5.15.145-rt73SMP preempt mod_unload aarch64' は '5.15.145-rt73+g3a3fafb13baa+p0 であるべきであるSMP プリエンプト mod_unload aarch64'
[ 8467.474097] ipc_shm_uio: バージョンマジック '5.15.145+g3a3fafb13baa+p0-rt73-dirtySMP preempt mod_unload aarch64' は '5.15.145-rt73+g3a3fafb13baa+p0 であるべきであるSMPプリエンプトm'
u-boot envを以下のように設定しました
setenv
デキャッシュオフ
mw.q 0x34100000 0x0 0x40000
保存環境
ブート
ここで、M7 コア上で「 IPCF_Example_S32G274A_M7_0.bin 」を実行していないことに注意してください。
あなたの助けを要請します。
こんにちは、 @ramjeey
共有していただいたログによると、IPCF は問題なく正常に動作しています。
最後のテストでは、使用した ko ファイルを手動で削除し、ko ファイルを挿入して再度テストを実行し、まだ問題が残っているかどうかを確認することをお勧めします。
BR
チェイン
こんにちは@chenyin_h
#IPC_UIO_MODULE_NAME "ipc_shm_uio" を定義します
#define IPC_UIO_MODULE_PATH "/lib/modules/5.15.119-rt65-yocto-standard/extra/ipc-shm-uio.ko"
ipc-shm-sample_uio.elf を実行すると、以下の出力が得られました。
elf-execution.PNG
UMの手順を使用してipc-shm-sample.koとipc-shm-sample_uio.elfを手動でビルドしましたが、insmod ipc-shm-sample.koをロード中に以下のエラーが発生していました。
root@s32g274ardb2:~/IPCF# insmod ipc-shm-sample.ko
insmod: ER[ 424.031982] ipc_shm_sample: バージョン マジック '5.15.119-rt65-yocto-standardSMP preempt mod_unload aarch64' は '5.15.119-rt65' であるべきであるSMP プリエンプト mod_unload aa'
ROR: モジュール ipc-shm-sample.ko を挿入できませんでした:無効なモジュール形式
上記の「バージョンマジック」は、5.15.119-rt65-yocto-standard を 5.15.119-rt65 に移動/名前変更するだけで解決されました。
追加# ./ipc-shm-sample_uio.elf
入力番号 [ 1283.925001] ipc_shm_uio: ツリー外のモジュールをロードするとカーネルが汚染されます。
送信するメッセージの数: 5
ipc-shm-us-app: ch 0 >> 19 バイト: 送信メッセージ: 5
ipc-shm-us-app: ch 1 >> 32 バイト: #0 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #0Cortex M7▒からのメッセージ!@
ipc-shm-us-app: ch 2 >> 32 バイト: #1 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #1Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #2 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #2Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 2 >> 32 バイト: #3 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #3Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #4 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #4Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 0 << 19 バイト: 返信メッセージ: 5
送信するメッセージの数を入力してください: 10
ipc-shm-us-app: ch 0 >> 20 バイト: 送信メッセージ: 10
ipc-shm-us-app: ch 1 >> 32 バイト: #0 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #0Cortex M7▒からのメッセージ!@
ipc-shm-us-app: ch 2 >> 32 バイト: #1 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #1Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #2 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #2Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 2 >> 32 バイト: #3 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #3Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #4 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #4Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 2 >> 32 バイト: #5 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #5Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #6 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #6Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 2 >> 32 バイト: #7 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #7Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 1 >> 32 バイト: #8 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #8Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 2 >> 32 バイト: #9 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 2 << 24 バイト: #9Cortex M7 からのメッセージ▒!@
ipc-shm-us-app: ch 0 << 20 バイト: 返信メッセージ: 10
送信するメッセージの数を入力してください: 1
ipc-shm-us-app: ch 0 >> 19 バイト: 送信メッセージ: 1
ipc-shm-us-app: ch 1 >> 32 バイト: #0 HELLO WORLD!ユーザーから
ipc-shm-us-app: ch 1 << 24 バイト: #0Cortex M7▒からのメッセージ!@
ipc-shm-us-app: ch 0 << 19 バイト: 返信メッセージ: 1
送信するメッセージの数を入力してください: ^Cセグメンテーションエラー
/extra# ./ipc-shm-sample_uio.elf
ipc-shm-uio-lib: ipc_os_init(): /lib/modules/5.15.119-rt65+ge18f05316cd9/extra/ipc-shm-uio.ko モジュールをロードできません
ipc-shm-sample_uio.elfを再度実行するには、ハードウェアを再起動し、すべてのブート コマンドを再度実行する必要があります。
この問題は、.koをビルディングしている場合にのみ発生することをお知らせします。&.elfファイルを手動で作成します。
よろしくお願いいたします。
ラムジー・ヤダブ
こんにちは、 @ramjeey
ご返信ありがとうございます。
IPCF_Example_S32G274A_M7_0 ディレクトリの description.txt に記載されている手順を確認していただけますか?
Linux モジュールを挿入する前に、まず M7 アプリケーションを実行する必要がある場合があります。
ドキュメントに記載されている手順に従っても問題がまだ解決しない場合は、ログ全体を添えてチケットを更新してください。さらに詳しく調査いたします。
BR
チェイン
私も、S32G274ardb2 ハードウェア上の BSP38 + IPCF_4.9.0_D2310 A-53 コアで試しました。
それでも同じエラーが発生します
root@s32g274ardb2:~/IPCF# lsmod
モジュールサイズ使用
sja1110 20480 0
root@s32g274ardb2:~/IPCF# lsmod ipc-shm-dev.ko
使用法: lsmod
root@s32g274ardb2:~/IPCF# insmod ipc-shm-dev.ko
ルート@s32g274ardb2:~/IPCF#
root@s32g274ardb2:~/IPCF# lsmod
モジュールサイズ使用
ipc_shm_dev 40960 0
sja1110 20480 0
root@s32g274ardb2:~/IPCF# insmod ipc-shm-sample.ko
insmod: エラー: モジュール ipc-shm-sample.ko を挿入できませんでした:メモリを割り当てられませんBSP38-IPCF-Err.PNG
エラーを解決する方法についてアドバイスをお願いします。
ここで、M7 コアに「 IPCF_Example_S32G274A_M7_0.bin 」または任意のバイナリをフラッシュしていないことをお知らせします。
こんにちは、 @ramjeey
ご投稿ありがとうございます。
IPCF 4.9.0 リリース ノートを調べたところ、次の情報が確認されました。
chenyin_h_0-1753672391839.png
BSP38+IPCF4.9 でテストしたかどうかを教えていただけますか? それはあなたの側では正しいですか?
BR
チェイン