ここではi.MX 8M Plus EVK評価ボードを使用して、カメラ入力やビデオ再生、オーディオの録音/再生、Wi-Fi接続などを行う方法について説明します。
各項での必要に応じて、i.MX 8M Plus EVK評価ボードにMIPIカメラ、HDMIディスプレイ、イヤホン、USBケーブルを接続します。
i.MX 8M Plus EVK評価ボードの詳しい使い方については、i.MX 8M Plus EVK Quick Start Guideをご参照ください。
Yocto Linux BSPのビルド方法、書き込み方法については、以下の記事をご参照ください。
・Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法
i.MX 8M Plus EVKをUSBマスストレージとして動作させ、ホストPCからアクセスします。その際、ホストPCとEVKのUSB port 1をUSBケーブルで接続しておきます。
root@imx8mp-lpddr4-evk:~# fdisk /dev/mmcblk1
Command (m for help): n
Partition type
<中略>
Created a new partition 1 of type 'Linux' and of size 14.6 GiB.
<中略>
Command (m for help): t
Selected partition 1
Hex code or alias (type L to list all): 0x0c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
root@imx8mp-lpddr4-evk:~# mkfs.vfat -F 32 /dev/mmcblk1p1
root@imx8mp-lpddr4-evk:~# cd /lib/modules/6.1.55+g770c5fe2c1d1/kernel/drivers/usb/gadget/legacy/
root@imx8mp-lpddr4-evk:~# insmod g_mass_storage.ko file=/dev/mmcblk1 stall=0
root@imx8mp-lpddr4-evk:~# mount /dev/mmcblk1p1 /media/
root@imx8mp-lpddr4-evk:~# less /media/USB_gadget_test.txt
This is a test file for USB gadget function of i.MX 8M Plus EVK.
2025/6/17
root@imx8mp-lpddr4-evk:~# gst-launch-1.0 filesrc location=./bbb_sunflower_1080p_60fps_normal.mp4 ! 'video/quicktime' ! aiurdemux ! queue ! vpudec ! waylandsink
root@imx8mp-lpddr4-evk:~# gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw,width=1920,height=1080,format=YUY2 ! queue ! vpuenc_h264 ! h264parse ! mp4mux ! filesink location=./output.mp4
root@imx8mp-lpddr4-evk:~# gst-launch-1.0 filesrc location=./output.mp4 ! 'video/quicktime' ! aiurdemux ! queue ! vpudec ! waylandsink
root@imx8mp-lpddr4-evk:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
<中略>
card 3: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 [HiFi wm8960-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@imx8mp-lpddr4-evk:~# aplay -D plughw:<wm8960-audioのcard No>,0 test.wav
root@imx8mp-lpddr4-evk:~# arecord -D plughw:< wm8960-audioのcard No >,0 -r 16000 -f S16_LE capture.wav--r, --rate=# サンプル・レート
root@imx8mp-lpddr4-evk:~# aplay -D plughw:<wm8960-audioのcard No>,0 capture.wav
root@imx8mp-lpddr4-evk:~# arecord -D plughw:wm8960audio -r 16000 -f S16_LE capture.wav
root@imx8mp-lpddr4-evk:~# aplay -D plughw:wm8960audio capture.wav
=> setenv fdtfile imx8mp-evk-basler.dtb => saveenv => boot
root@imx8mp-lpddr4-evk:~# gst-launch-1.0 v4l2src device=/dev/video2 ! autovideosink/dev/videoXの番号は、使用するカメラやdtbファイルによって変化します。上記の組み合わせの場合は/dev/video2です。
#!/bin/bash"wifi_ssid"は実際に使用するアクセスポイントのSSID、"password"は実際に使用するアクセスポイントのパスワードに置き換えます。
export SSID="wifi_ssid"
export PASSWORD="password"
modprobe moal mod_para=nxp/wifi_mod_para.conf
wpa_passphrase ${SSID} ${PASSWORD} > imxrouter.conf
wpa_supplicant -d -B -i mlan0 -c ./imxrouter.conf
udhcpc -i mlan0
root@imx8mp-lpddr4-evk:~# chmod +x wifi.sh
root@imx8mp-lpddr4-evk:~# ./wifi.sh
root@imx8mp-lpddr4-evk:~# ping 8.8.8.8
root@imx8mp-lpddr4-evk:~# cd /usr/bin/tensorflow-lite-2.12.1/examples/
root@imx8mp-lpddr4-evk:~#./benchmark_model --graph=mobilenet_v1_1.0_224_quant.tflite --num_runs=5
root@imx8mp-lpddr4-evk:~#./benchmark_model --graph=mobilenet_v1_1.0_224_quant.tflite --num_runs=5 --external_delegate_path=/usr/lib/libvx_delegate.so
count=7 first=143499 curr=143551 min=143393 max=143678 avg=143538 std=93NPUの場合
count=352 first=2804 curr=2782 min=2754 max=2896 avg=2791.29 std=24
NPUを使用するAI/ML処理の導入については、こちらのブログもご参照ください。
組込み機器へのAI/ML導入にお困りではありませんか・・・? NXPのAI/MLソリューション~eIQ~で何ができる? (日本語ブログ)
i.MX 8M Plus EVK評価ボードで様々なマルチメディア機能を使用する方法について、簡単にご紹介しました。
=========================
本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。
お手数をおかけしますが、お問い合わせの際には、NXP代理店、もしくはNXPまでお問い合わせください
ここにコメントを追加するには、ご登録いただく必要があります。 ご登録済みの場合は、ログインしてください。 ご登録がまだの場合は、ご登録後にログインしてください。