米尔科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

米尔MYS-8MMX开发板试用体验测评——dql2016

文章来源: 发布日期:2021.10.26 浏览次数:2431 次



日前,米尔科技发布了关于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