こんにちは、NXP チームの皆様、
私は Android 16 BSP を搭載した i.MX8M Mini LPDDR4 EVK を開発中 で、Cortex-A53とCortex-M4間のRPMsg通信を有効にしようとしています。
カーネル設定でNXP RPMsg TTYドライバーを有効にしました:
CONFIG_IMX_RPMSG_TTY=mSharedBoardConfig.mkにもモジュールを追加しました。
$(KERNEL_OUT)/drivers/rpmsg/imx_rpmsg_tty.koモジュールは正常にビルドされました。
生成されたカーネル設定により、有効になっていることが確認できます。
grep CONFIG_IMX_RPMSG_TTY out/target/product/evk_8mm/obj/KERNEL_OBJ/.config出力:
CONFIG_IMX_RPMSG_TTY=mモジュールも正常に生成されました。
out/target/product/evk_8mm/vendor_dlkm/lib/modules/imx_rpmsg_tty.koそしてAndroidイメージにパッケージ化されています。
ボードにファームウェアを書き込んだ後、実行中のカーネル構成ではRPMsgモジュール構成が報告されません。
adb shell zcat /proc/config.gz | grep RPMSG出力:
CONFIG_GKI_HIDDEN_RPMSG_CONFIGS=y
# CONFIG_RPMSG_WWAN_CTRL is not set
# CONFIG_RPMSG_TTY is not set
# CONFIG_SND_SOC_FSL_RPMSG is not set
CONFIG_RPMSG=y
CONFIG_RPMSG_CHAR=y
# CONFIG_RPMSG_CTRL is not set
# CONFIG_RPMSG_NS is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not setまた、
adb shell zcat /proc/config.gz | grep IMX_RPMSG何も出力しません。
しかし、対応するRPMsgモジュールは正常にロードされます。
lsmod | grep -i rpmsg出力:
snd_soc_imx_rpmsg
snd_soc_rpmsg_ak4497
imx_audio_rpmsg
snd_soc_fsl_rpmsg
imx_pcm_rpmsg
i2c_rpmsg_imx
virtio_rpmsg_bus
rpmsg_nsこれは、モジュールが正しくビルドされロードされているものの、 /proc/config.gzにその設定が反映されていないことを示しています。
ご説明いただければ幸いです。
こんにちは@vp1
お元気でお過ごしのことと思います。
どのデバイスツリーを使っているのか教えていただけますか?
imx8mm-evk-rpmsg.dtsを使ってみてもらえますか?
よろしくお願いいたします。
サラス。
こんにちは、 @Manuel_Salas さん。
ご返信ありがとうございます。
現在、私のAndroid AOSPビルドはデバイスツリーimx8mm-evk.dtsを使っています。imx8mm-evk-rpmsg.dtsも利用可能で、うまく構築されているようです。
起動時にimx8mm-evk.dtsではなくimx8mm-evk-rpmsg.dtsを使うようにAndroidビルドの設定方法を教えていただけませんか?
Android BSP、U-Boot、またはimx-mkimageで、どのデバイスツリーをパッケージして読み込むかを選べる特定の設定はありますか?
ご指導ありがとうございました。
よろしくお願いします、
ヴィカス・パティル