米爾MYS-8MMX開發(fā)板試用體驗(yàn)測(cè)評(píng)四
?日前,米爾科技發(fā)布了關(guān)于MYS-8MMX開發(fā)板的測(cè)評(píng)公告,公告發(fā)布后,吸引了各大媒體平臺(tái)的測(cè)評(píng)者爭相報(bào)名,本期我們分享其中一名優(yōu)秀測(cè)評(píng)者的測(cè)評(píng)報(bào)告,供各位參考。如需要查看往期優(yōu)秀測(cè)評(píng)內(nèi)容的可點(diǎn)擊下方鏈接查看:
米爾MYS-8MMX開發(fā)板試用體驗(yàn)測(cè)評(píng)——tobot
再來一份關(guān)于米爾MYS-8MMX開發(fā)板試用體驗(yàn)測(cè)評(píng)報(bào)告——robe.zhang
米爾MYS-8MMX開發(fā)板試用體驗(yàn)測(cè)評(píng)——donatello1996
想要了解優(yōu)秀測(cè)評(píng)者“dql2016”關(guān)于MYS-8MMX開發(fā)板測(cè)評(píng)原文的可以復(fù)制下方鏈接查看:
https://bbs.elecfans.com/jishu_2159854_1_1.html
【米爾MYS-8MMX開發(fā)板免費(fèi)試用】sdk安裝
拿到板子要想開發(fā)自己的應(yīng)用程序首先就得安裝sdk,交叉編譯工具。米爾給我們提供了適合不同用戶需求的SDK以及十分詳細(xì)的安裝手冊(cè)。按照手冊(cè)進(jìn)行SDK安裝,安裝完畢會(huì)有提示:
先生效一下環(huán)境變量,現(xiàn)在這個(gè)SDK目錄內(nèi)容如下:
查看下environment-setup-aarch64-poky-linux這個(gè)腳本的內(nèi)容:
1.cat environment-setup-aarch64-poky-linux
內(nèi)容如下:
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 checkIFyou 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.
都是些環(huán)境變量的設(shè)置。通過查看可知ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux-
那么交叉編譯工具就是
1.aarch64-poky-linux-gcc
版本是9.2.0,這個(gè)版本對(duì)c++ 11支持還是十分全面的,為后面的應(yīng)用開發(fā)提供了方便。
【米爾MYS-8MMX開發(fā)板免費(fèi)試用】+emmc讀寫測(cè)試
米爾MYS-8MMX開發(fā)板板載了8GB eMMC,性能測(cè)試主要測(cè)試 emmc 在 linux 系統(tǒng)下對(duì)文件的讀寫速度上的測(cè)試,測(cè)試一般結(jié)合time 與 dd 雙命令進(jìn)行測(cè)試。寫文件測(cè)試
這里測(cè)試出寫磁盤速度為 36.8MB/s。
讀文件測(cè)試
這里測(cè)試出讀速度為 238MB/s。
【米爾MYS-8MMX開發(fā)板免費(fèi)試用】+ 使用mjpg-streamer和UVC攝像頭搭建網(wǎng)絡(luò)攝像頭
手上正好有一個(gè)1600萬像素的USB攝像頭,支持UVC,十分適合用來做網(wǎng)絡(luò)監(jiān)控應(yīng)用,借助米爾MYS-8MMX開發(fā)板強(qiáng)大的音視頻處理能力,可玩性很高。搭建網(wǎng)絡(luò)攝像頭,板子上需要運(yùn)行流媒體服務(wù)器,讀取攝像頭數(shù)據(jù)然后通過網(wǎng)絡(luò)發(fā)送出去,目前常用的方案有MJPG-streamer、μStreamer 、Motion 等。這里我選擇性能較高的MJPG-streamer,MJPG-streamer是一款免費(fèi)基于IP地址的視頻流服務(wù)器,它的輸入插件從攝像頭讀取視頻數(shù)據(jù),這個(gè)輸入插件產(chǎn)生視頻數(shù)據(jù)并將視頻數(shù)據(jù)復(fù)制到內(nèi)存中,它有多個(gè)輸出插件將這些視頻數(shù)據(jù)經(jīng)過處理,其中最重要的輸出插件是網(wǎng)站服務(wù)器插件,它將視頻數(shù)據(jù)傳送到用戶瀏覽器中,MJPG-streamer的工作就是將其中的一個(gè)輸入插件和多個(gè)輸出插件綁定在一起,所有的工作都是通過它的各個(gè)插件完成的。MJPG-streamer是SourceForge網(wǎng)站的一個(gè)開源項(xiàng)目:https://sourceforge.net/projects/mjpg-streamer/目前項(xiàng)目已經(jīng)遷移到github,這個(gè)版本增加了樹莓派的支持:https://github.com/jacksonliam/mjpg-streamer
MJPG-streamer依賴jpeg庫,因此首先進(jìn)行jpeg 庫的移植,jpeg源碼包通過這個(gè)網(wǎng)址下載:http://www.ijg.org/
最新版本是jpegsrc.v9d.tar.gzjpeg編譯
·解壓源碼包
1.tar-xvfjpegsrc.v9d.tar.gz
·配置源碼
1.cdjpegsrc.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-xvfmjpg-streamer-r63.tar.gz
進(jìn)入源碼目錄
1.cdmjpg-streamer-r63
創(chuàng)建一個(gè)目錄lib用來存放交叉編譯的動(dòng)態(tài)庫文件
1.mkdir lib
輸入編譯命令并指定交叉編譯器
1.make CC=aarch64-poky-linux-gcc
將在目錄mjpg-streamer-test/mjpg-streamer-r63生成應(yīng)用程序mjpg_streamer
幾個(gè)主要文件介紹如下:
· input_testpicture.so。這是一個(gè)圖像測(cè)試插件,它將預(yù)設(shè)好的圖像編譯成一個(gè)頭文件,可以在沒有攝像頭的情況下傳輸圖像,從而方便調(diào)試程序。
· input_uvc.so。此文件調(diào)用USB攝像頭驅(qū)動(dòng)程序V4L2,從攝像頭讀取視頻數(shù)據(jù)。
· input_control.so。這個(gè)文件實(shí)現(xiàn)對(duì)攝像頭轉(zhuǎn)動(dòng)的控制接口。
· output_http.so。這是一個(gè)功能齊全的網(wǎng)站服務(wù)器,它不僅可以從單一文件夾中處理文件,還可以執(zhí)行一定的命令,它可以從輸入插件中處理一幅圖像,也可以將輸入插件的視頻文件根據(jù)現(xiàn)有M-JPEG標(biāo)準(zhǔn)以HTTP視頻數(shù)據(jù)服務(wù)流形式輸出。
· output_file.so。這個(gè)插件的功能是將輸入插件的JPEG圖像存儲(chǔ)到特定的文件夾下,它可以用來抓取圖像。
將生成的mjpg-streamer-r63/plugins/output_file/output_file.so和mjpg-streamer-r63/plugins/input_uvc/input_uvc.so
拷貝到目錄
mjpg-streamer-r63/lib
將上面編譯的jpeg動(dòng)態(tài)庫libjpeg.so、libjpeg.so.9、libjpeg.so.9.4.0拷貝到目錄
mjpg-streamer-r63/lib
我這里搭建了nfs,將測(cè)試目錄掛載到開發(fā)板,方便調(diào)試,動(dòng)態(tài)庫目錄內(nèi)容如下:
在終端輸入命令指定環(huán)境變量
1.export LD_LIBRARY_PATH=/mnt/mjpg-streamer-test/mjpg-streamer-r63/lib
然后輸入命令
1.
./mjpg_streamer -i "input_uvc.so -n運(yùn)行成功信息如下:
我的板子ip設(shè)置成了192.168.1.120,瀏覽器地址欄輸入
1.http://192.168.1.120:8080/?action=snapshot
就可以看到圖像了,回車可以進(jìn)行單張抓拍,演示效果如下:
或者輸入
1.http://192.168.1.120:8080/?action=stream
就可以看到實(shí)時(shí)視頻了。
利用強(qiáng)大的curl可以方便的做到抓拍圖片,下面是ubuntu和windows端的演示效果:
1.curl http://192.168.1.120:8080/?action=snapshot -o a.jpg
ubuntu端的效果
window端的效果
米爾電子領(lǐng)先的嵌入式處理器模塊廠商
原文標(biāo)題:米爾MYS-8MMX開發(fā)板試用體驗(yàn)測(cè)評(píng)——dql2016
文章出處:【微信公眾號(hào):米爾MYiR】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
4758瀏覽量
96126
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論