完美体育·(中国)手机网页版MYS-8MMX开发板试用体验测评——dql2016
文章来源: 发布日期:2021.10.26 浏览次数:5326 次 |
日前,完美体育·(中国)手机网页版科技发布了关于MYS-8MMX开发板的测评公告,公告发布后,吸引了各大媒体平台的测评者争相报名,本期我们分享其中一名优秀测评者的测评报告,供各位参考。
【完美体育·(中国)手机网页版MYS-8MMX开发板免费试用】sdk安装
拿到板子要想开发自己的应用程序首先就得安装sdk,交叉编译工具。完美体育·(中国)手机网页版给我们提供了适合不同用户需求的SDK以及十分详细的安装手册。按照手册进行SDK安装,安装完毕会有提示:
先生效一下环境变量,现在这个SDK目录内容如下:
查看下environment-setup-aarch64-poky-linux这个脚本的内容:
1. cat environment-setup-aarch64-poky-linux
内容如下:
1. # Check for LD_LIBRARY_PATH being set, which can break SDK and generally is a bad practice
2. # http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80
3. # http://xahlee.info/UnixResource_dir/_/ldpath.html
4. # Only disable this check IF you are absolutely know what you are doing!
5. if [ ! -z "$LD_LIBRARY_PATH" ]; then
6. echo "Your environment is misconfigured, you probably need to 'unset LD_LIBRARY_PATH'"
7. echo "but please check why this was set in the first place and that it's safe to unset."
8. echo "The SDK will not operate correctly in most cases when LD_LIBRARY_PATH is set."
9. echo "For more references see:"
10. echo " http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80"
11. echo " http://xahlee.info/UnixResource_dir/_/ldpath.html"
12. return 1
13. fi
14. export SDKTARGETSYSROOT=/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/aarch64-poky-linux
15. export PATH=/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/sbin:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/bin:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/sbin:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux:/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux-musl:$PATH
16. export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT
17. export PKG_CONFIG_PATH=$SDKTARGETSYSROOT/usr/lib/pkgconfig:$SDKTARGETSYSROOT/usr/share/pkgconfig
18. export CONFIG_SITE=/media/nrjd/fsl-imx-xwayland/5.4-zeus/site-config-aarch64-poky-linux
19. export OECORE_NATIVE_SYSROOT="/media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux"
20. export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"
21. export OECORE_ACLOCAL_OPTS="-I /media/nrjd/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/share/aclocal"
22. export OECORE_BASELIB="lib"
23. export OECORE_TARGET_ARCH="aarch64"
24. export OECORE_TARGET_OS="linux"
25. unset command_not_found_handle
26. export CC="aarch64-poky-linux-gcc -mcpu=cortex-a53+crc --sysroot=$SDKTARGETSYSROOT"
27. export CXX="aarch64-poky-linux-g++ -mcpu=cortex-a53+crc --sysroot=$SDKTARGETSYSROOT"
28. export CPP="aarch64-poky-linux-gcc -E -mcpu=cortex-a53+crc --sysroot=$SDKTARGETSYSROOT"
29. export AS="aarch64-poky-linux-as "
30. export LD="aarch64-poky-linux-ld --sysroot=$SDKTARGETSYSROOT"
31. export GDB=aarch64-poky-linux-gdb
32. export STRIP=aarch64-poky-linux-strip
33. export RANLIB=aarch64-poky-linux-ranlib
34. export OBJCOPY=aarch64-poky-linux-objcopy
35. export OBJDUMP=aarch64-poky-linux-objdump
36. export READELF=aarch64-poky-linux-readelf
37. export AR=aarch64-poky-linux-ar
38. export NM=aarch64-poky-linux-nm
39. export M4=m4
40. export TARGET_PREFIX=aarch64-poky-linux-
41. export CONFIGURE_FLAGS="--target=aarch64-poky-linux --host=aarch64-poky-linux --build=x86_64-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"
42. export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
43. export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
44. export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
45. export CPPFLAGS=""
46. export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"
47. export OECORE_DISTRO_VERSION="5.4-zeus"
48. export OECORE_SDK_VERSION="5.4-zeus"
49. export ARCH=ARM64
50. export CROSS_COMPILE=aarch64-poky-linux-
51.
52. # Append environment subscripts
53. if [ -d "$OECORE_TARGET_SYSROOT/environment-setup.d" ]; then
54. for envfile in $OECORE_TARGET_SYSROOT/environment-setup.d/*.sh; do
55. . $envfile
56. done
57. fi
58. if [ -d "$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
59. for envfile in $OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
60. . $envfile
61. done
62. fi
63.
都是些环境变量的设置。通过查看可知ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux-
那么交叉编译工具就是
1. aarch64-poky-linux-gcc
版本是9.2.0,这个版本对c++ 11支持还是十分全面的,为后面的应用开发提供了方便。
【完美体育·(中国)手机网页版MYS-8MMX开发板免费试用】+emmc读写测试
完美体育·(中国)手机网页版MYS-8MMX开发板板载了8GB eMMC,性能测试主要测试 emmc 在 linux 系统下对文件的读写速度上的测试,测试一般结合time 与 dd 双命令进行测试。写文件测试
这里测试出写磁盘速度为 36.8MB/s。
读文件测试
这里测试出读速度为 238MB/s。
【完美体育·(中国)手机网页版MYS-8MMX开发板免费试用】+ 使用mjpg-streamer和UVC摄像头搭建网络摄像头
手上正好有一个1600万像素的USB摄像头,支持UVC,十分适合用来做网络监控应用,借助完美体育·(中国)手机网页版MYS-8MMX开发板强大的音视频处理能力,可玩性很高。搭建网络摄像头,板子上需要运行流媒体服务器,读取摄像头数据然后通过网络发送出去,目前常用的方案有MJPG-streamer、μStreamer 、Motion 等。这里我选择性能较高的MJPG-streamer,MJPG-streamer是一款免费基于IP地址的视频流服务器,它的输入插件从摄像头读取视频数据,这个输入插件产生视频数据并将视频数据复制到内存中,它有多个输出插件将这些视频数据经过处理,其中最重要的输出插件是网站服务器插件,它将视频数据传送到用户浏览器中,MJPG-streamer的工作就是将其中的一个输入插件和多个输出插件绑定在一起,所有的工作都是通过它的各个插件完成的。MJPG-streamer是SourceForge网站的一个开源项目:https://sourceforge.net/projects/mjpg-streamer/
目前项目已经迁移到github,这个版本增加了树莓派的支持:https://github.com/jacksonliam/mjpg-streamer
MJPG-streamer依赖jpeg库,因此首先进行jpeg 库的移植,jpeg源码包通过这个网址下载:http://www.ijg.org/
最新版本是jpegsrc.v9d.tar.gzjpeg编译
· 解压源码包
1. tar -xvf jpegsrc.v9d.tar.gz
· 配置源码
1. cd jpegsrc.v9d
2. export CC=aarch64-poky-linux-gcc
3. ./configure --host=ARM-linux --prefix=/home/test/build_jpegsrc.v9d
· 编译&安装
1. make
2. make install
mjpg-stream编译
· 解压源码
1. tar -xvf mjpg-streamer-r63.tar.gz
进入源码目录
1. cd mjpg-streamer-r63
创建一个目录lib用来存放交叉编译的动态库文件
1. mkdir lib
输入编译命令并指定交叉编译器
1. make CC=aarch64-poky-linux-gcc
将在目录mjpg-streamer-test/mjpg-streamer-r63生成应用程序mjpg_streamer
几个主要文件介绍如下:
· input_testpicture.so。这是一个图像测试插件,它将预设好的图像编译成一个头文件,可以在没有摄像头的情况下传输图像,从而方便调试程序。
· input_uvc.so。此文件调用USB摄像头驱动程序V4L2,从摄像头读取视频数据。
· input_control.so。这个文件实现对摄像头转动的控制接口。
· output_http.so。这是一个功能齐全的网站服务器,它不仅可以从单一文件夹中处理文件,还可以执行一定的命令,它可以从输入插件中处理一幅图像,也可以将输入插件的视频文件根据现有M-JPEG标准以HTTP视频数据服务流形式输出。
· output_file.so。这个插件的功能是将输入插件的JPEG图像存储到特定的文件夹下,它可以用来抓取图像。
将生成的mjpg-streamer-r63/plugins/output_file/output_file.so和mjpg-streamer-r63/plugins/input_uvc/input_uvc.so
拷贝到目录
mjpg-streamer-r63/lib
将上面编译的jpeg动态库libjpeg.so、libjpeg.so.9、libjpeg.so.9.4.0拷贝到目录
mjpg-streamer-r63/lib
我这里搭建了nfs,将测试目录挂载到开发板,方便调试,动态库目录内容如下:
在终端输入命令指定环境变量
1. export LD_LIBRARY_PATH=/mnt/mjpg-streamer-test/mjpg-streamer-r63/lib
然后输入命令
1.
./mjpg_streamer -i "input_uvc.so -n
运行成功信息如下:
我的板子ip设置成了192.168.1.120,浏览器地址栏输入
1. http://192.168.1.120:8080/?action=snapshot
就可以看到图像了,回车可以进行单张抓拍,演示效果如下:
或者输入
1. http://192.168.1.120:8080/?action=stream
就可以看到实时视频了。
利用强大的curl可以方便的做到抓拍图片,下面是ubuntu和windows端的演示效果:
1. curl http://192.168.1.120:8080/?action=snapshot -o a.jpg
ubuntu端的效果
window端的效果
完美体育·(中国)手机网页版电子 领先的嵌入式处理器模块厂商“完美体育·(中国)手机网页版MYiR”公众号☞不定期分享产品资料及干货☞第一时间发布完美体育·(中国)手机网页版最新资讯
长按二维码 关注我们
想要了解更多信息,欢迎联系我们
深圳总部电话:0755-25622735 18924653967地址:深圳坂田云里智能园2栋6楼上海办事处电话:021-62087019 18924632515北京办事处电话:010-84675491 13316862895技术支持电话:027-59621648邮箱:support.cn@myirtech.com