AnsweredAssumed Answered

can not run mxc_vpu_test.out [imx6q]

Question asked by alex zhu on Jul 16, 2019
Latest reply on Jul 17, 2019 by igorpadykov

Dear NXP:
We are using imx6q platform in our product. Now I am testing "mxc_vpu_test.out" app but failed.
***********************************************************
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
CPU: CPU identified as i.MX6Q, silicon rev 1.5

ENV and Tools:
Kernel version: 3.0.35_4.1.0
Crosscompiler: /arm-2012.03/bin/arm-none-linux-gnueabi
((gcc version 4.6.3 (Sourcery CodeBench Lite 2012.03-57) ))
***********************************************************

Below is details of testing step:
1. Compile "libvpu.so.4" and "libvpu.a" from <imx-vpu-lib-3.0.35-4.1.0.tar.gz> of kerel version: 3.0.35-4.1.0
Then copy this 2 files to board's /usr/lib, and do "ln -sf libvpu.so.4 libvpu.so" && "ln -sf libvpu.so.4 libvpu.so.0"
2. Compile "libipu.so.0" from <imx-lib-3.0.35-4.1.0/ipu> of kerel version: 3.0.35-4.1.0
Then copy this 1 file to board's /usr/lib, and do "ln -sf libipu.so.0 libipu.so"
3. Compile "mxc_vpu_test.out" from <test\cmd\mxc_vpu_test> of kerel version: 3.0.35-4.1.0
The output is "mxc_vpu_test/tmp" as default setting, copy "mxc_vpu_test/tmp" to board's /usr/display
4. Copy freescale_L3.14.52_1.1.0-ga_images_MX6QDLSOLO/vpu/vpu_fw_imx6q.bin to board's /lib/firmware/vpu
Because I can't find vpu_fw_imx6q.bin of 3.0.35-4.1.0, so I used this version.
5. Run cmd:
root@xxx /usr/display/tmp# ll
total 12027
-rw-r--r-- 1 root root 68010 Jan 1 01:18 akiyo.mp4
-rwxr-xr-x 1 root root 388 Jan 1 01:18 autorun-vpu.sh
-rw-r--r-- 1 root root 1309 Jan 1 01:18 config_dec
-rw-r--r-- 1 root root 1068 Jan 1 01:18 config_enc
-rw-r--r-- 1 root root 2088 Jan 1 01:18 config_encdec
-rw-r--r-- 1 root root 2825 Jan 1 01:18 config_net
-rw-r--r-- 1 root root 12092168 Jan 1 01:18 h264.avi
-rwxr-xr-x 1 root root 142509 Jan 1 01:18 mxc_vpu_test.out
root@xxx /usr/display/tmp#
root@xxx /usr/display/tmp# ./mxc_vpu_test.out -D "-i ./akiyo.mp4 -f 0"
[INFO] VPU test program built on Jul 15 2019 16:04:18
(no log output)

Then I put some print log and it seems stuck in "vpu_Init" of main.c in "test/mxc_vpu_test".
root@xxx /usr/display/tmp# ./mxc_vpu_test.out -D "-i ./akiyo.mp4 -f 0"
[INFO] 20190717 0918 vpu_test_dbg_level = 0
[INFO] parse_main_args ok!
[INFO] VPU test program built on Jul 17 2019 09:24:32
[INFO] COMMON_INIT has been defined!
(no log output)

Expected results:
I want to see this akiyo.mp4 video play on the screen.

My question:
1. Is my testing step right? Is there anything I missed?
2. My goal is to use IPC(IP Camera) on kernel version 3.0.35-4.1.0, so I do this test firstly,
is there any config step to compile kernel such as open video configs? What configs are necessary?
3. Is the firmware necessary(vpu_fw_imx6q.bin)?
Can I use version 3.14.52_1.1.0 or 4.1.x or 4.9.x? What's the difference?
If not, where could I find firmware of 3.0.35-4.1.0?

Thanks a lot!
Best regards
Alex

Outcomes