米尔MYS-8MMX开发板试用体验测评——dql2016
2021-10-26
2735
来源:米尔电子
米尔MYS-8MMX开发板试用体验测评四
想要了解优秀测评者“dql2016”关于MYS-8MMX开发板测评原文的可以复制下方链接查看:
https://bbs.elecfans.com/jishu_2159854_1_1.html
【米尔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摄像头搭建网络摄像头
目前项目已经迁移到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.
STM32MP25x开发板Bring Up培训课程(下)
STM32MP25x开发板Bring Up培训课程(中)
STM32MP25x开发板Bring Up培训课程(上)
嵌入式Linux入门级板卡的神经网络框架ncnn移植与测试-米尔i.MX6UL开发板
FPGA+MPU+MCU三芯合一!米尔全自动血细胞分析仪解决方案
基于Zynq-7000高速数据采集解决方案—米尔MYD-C7Z010/20-V2开发板
开发环境篇:Linux C按键控制LED--米尔MYD-YT507H开发板
第一视角体验国产处理器全志T507-H开发板
米尔的国产T507-H开发板怎么玩?macOS如何将Ubuntu系统烧录到eMMC的完全调教指南!
如何实现异构处理器间相互通讯——米尔带您玩转i.MX 8M Plus开发板



