私はGoldbox S32G-VNP-RDB3に取り組んでいます
ソフトウェアセンターからダウンロードしたLinux BSP 40を使用しています
以下のバージョンのIPCF、RTD、FreeRTOSを使用しています
NXP RTD 4.0.2_P04D2312
NXP RTOS 0.4.0D2309
フリーRTOS 4.0.2D2306
NXP Linux BSP40 D2403
そして次のコマンドを使用しました
# 1. データキャッシュを無効にする
=> dcache オフ
# 2. IPCF共有メモリをクリアする
=> mw.q 0x34100000 0x0 0x40000
# 3. SDカードからM7バイナリを一時DDRにロードする
=> ファットロード mmc 0:1 0x80000000 IPCF_FreeRTOS_S32G399A_M7_0.bin
# 4. ファームウェアをM7 SRAMにコピーする
=> cp.b 0x80000000 0x34300000 0x300000
# 5. M7コアをベクターアドレスで開始する
=> スタートm7 0x34500400
# 6. Linuxを通常通り起動する(まだ起動していない場合)
=> ブート
# 1. ブートパーティションをマウントする(オプション、M7バイナリを検証)
mkdir -p /mnt/s32g_boot
/dev/mmcblk0p1 /mnt/s32g_boot をマウントします。
ls /mnt/s32g_boot
# 表示される内容: IPCF_FreeRTOS_S32G399A_M7_0_1_2.bin
# 2. IPCF Linuxカーネルモジュールをロードする
insmod /lib/modules/$(uname -r)/extra/ipc-shm-dev.ko
insmod /lib/modules/$(uname -r)/extra/ipc-shm-sample.ko
# 3. モジュールを検証する
lsmod | grep ipc
# 4. 以前のpingをクリアする(オプション)
エコー 0 > /sys/kernel/ipc-shm-sample/ping
# 5. IPCF通信をテストする(チャネル0)
エコー 10 > /sys/kernel/ipc-shm-sample/ping
# 6. カーネルメッセージを監視する
dmesg | tail -20 | grep -i ipc
しかし、エラーが発生する
root@s32g399ardb3:~# dmesg | tail -20 | grep -i ipc
[ 81.689010] ipc-shm-sample: デモを開始しています...
[ 81.689029] ipc-shm-sample: ch 0 >> 19 バイト: 送信メッセージ: 0
[ 91.808767] ipc-shm-sample: デモを開始しています...
[ 91.808771] ipc-shm-sample: ch 0 >> 20 バイト: 送信メッセージ: 10
[ 91.808778] ipc-shm-sample: send_data_msg(): チャネル2のバッファの取得に失敗しました
私のボードにどのバージョンのソフトウェアと Linux BSP を使用すべきか教えてください。
こんにちは@chenyin_h
今後とも変わらぬサポートを賜りますようお願い申し上げます。バージョン 4.9.0 の M-core 側ビルドと、NXP ソフトウェア ダウンロードからダウンロードした Linux BSP 40 を試してみたところ、期待どおりに動作しました。
こんにちは、 @Kulkarni_v
ご返信ありがとうございます。
共有していただいた情報によると、M コア側では 4.10 を使用していますが、A コア側では BSP40 のデフォルト イメージを使用しています。
デフォルトでは、BSP40 の IPCF イメージは 4.10 バージョンではないSO、両側のコードは一致しません。
その結果、次の方法で問題が解決する可能性があります。
1. BSP40 上で IPCF 4.10 イメージを手動でビルドし、それを使用してビルドした M コア側と通信します。
2. 別の方法としては、M コア側で IPCF4.9 をビルドし、BSP40 のデフォルト イメージを使用して通信する方法があります。
ご自身の要件に応じて、提供されているいずれかの方法を選択できます。
BR
チェイン
はい、IPCFバージョン4.10.10を使用しています
こんにちは、 @Kulkarni_v
ご返信ありがとうございます。
申し訳ありませんが、M コア側で使用した IPCF バージョンはまだわかりません。IPCF バージョンは次のようになります。
よろしくお願いします。
BR
チェイン
M-core 側では上記のバージョンを使用しており、ソフトウェア サポート ( https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=3993158 ) からダウンロードした BSP40 を使用しています。別途構築しておりません。
こんにちは、 @Kulkarni_v
ご投稿ありがとうございます。
1. M コア バイナリのビルディングに使用している IPCF のバージョンはどれですか?
2. IPCF A コア側を手動で構築しましたか、それとも BSP 40 rootfs に存在する IPCF モジュールを使用して直接構築しましたか?
BR
チェイン