OKMX6ULL-C开发平台试用体验

飞凌okmx6ull-c开发平台试用体验
非常荣幸能够试用体验飞凌okmx6ull-c开发平台。
飞凌okmx6ull-c开发平台核心板和底板采用接插件的连接方式。其中核心板(型号fetmx6ull-c)采用恩智浦公司的的nxp i.mx6ull处理器开发设计,采用低功耗的arm cortex-a7架构,运行速度高达800mhz;原生支持8路uart、2路ethernet、2路can-bus总线、2路usb2.0、lcd等常用接口。
飞凌okmx6ull-c开发平台-资源
1. 开箱
1.1 配件
飞凌okmx6ull-c开发平台配件包括:usb转type-c调试串口线(115200bps)、电源线、飞凌okmx6ull-c开发板。
(wifi天线自备,或者直接忽略)
飞凌okmx6ull-c开发平台-开箱
1.2 接口说明
飞凌okmx6ull-c开发平台如图所示:
飞凌okmx6ull-c开发平台-接口
1.3 开发资料
飞凌okmx6ull-c开发平台提供了非常详尽的开发资料(飞凌已经提供了网盘企业服务,下载不限速,yyds)。
//------软件资料(linux4.1.15+qt5.6)下载链接: https://pan.baidu.com/s/1vuw-po6hl6whuka538sdua提取码: xn8u//------硬件资料/产品资料下载链接: https://pan.baidu.com/s/1a1tcsa-oebjppqzaoqvlyg提取码: eepg //------开发环境(虚拟机ubuntu-18.04,登录账户forlinx,密码forlinx)下载链接: https://pan.baidu.com/s/1v6pry3s0g7cyr5pldhl9rq提取码: gef8//------证书和测试报告下载链接: https://pan.baidu.com/s/1q_op8w1r2xutak1irsvzea提取码: h7kp飞凌okmx6ull-c开发平台-开发资料  
2. 系统登陆与网络功能配置
2.1 系统登陆
初次上电建议使用type-c串口(波特率115200)进行系统登陆。
//------系统登陆账户:root密码:无//------logrunning local boot scripts (/etc/rc.local).freescale i.mx release distro 4.1.15-2.0.1 fl-imx6ull /dev/ttymxc0fl-imx6ull login: rootpassword:root@fl-imx6ull:~# uname -alinux fl-imx6ull 4.1.15-00050-ge85def2 #1 smp preempt mon apr 18 17:42:50 cst 2022 armv7l armv7l armv7l gnu/linuxroot@fl-imx6ull:~# pstreeinit-+-s01xserver-nodm---xinit-+-xorg | `-matchbox-window-+-xsession---matchbox-keyboa | |-at-spi-bus-laun-+-dbus-daemon | | |-{gdbus} | | `-{gmain) s 561 561 | |-connman-applet | |-matchbox-deskto | `-matchbox-panel |-atd |-avahi-daemon---avahi-daemon |-connmand |-crond |-2*[dbus-daemon] |-dbus-launch |-dropbear |-gconfd-2 |-getty |-klogd |-ofonod |-rpc.statd |-rpcbind |-settings-daemon |-start_getty---bash---pstree |-syslogd |-udevd `-vsftpdroot@fl-imx6ull:~#  
//------u-boot信息截图:
u-boot
2.2 wifi功能配置
wifi连接可以选择sma天线、fpc天线或者不用。
//------wifi连接//---指令fltest_cmd_wifi.sh -i 8723du -s yusur-yf -p 2018yusurserver//---含义“-i 8723du” :wifi驱动为8723du“-s yusur-yf”:wifi名称“-p 2018yusurserver”:wifi密码//---校验驱动(查看wlan0驱动)ethtool -i wlan0lsmod//---ping测试ping www.baidu.com//------log信息root@fl-imx6ull:~# fltest_cmd_wifi.sh -i 8723du -s yusur-yf -p 2018yusurserverwifi 8723dussid yusur-yfpasw 2018yusurserverusbcore: deregistering interface driver rtl8723duusbcore: registered new interface driver rtl8723duipv6: addrconf(netdev_up): wlan0: link is not readysuccessfully initialized wpa_supplicantrfkill: cannot open rfkill control deviceudhcpc (v1.24.1) startedsending discover...wlan0: trying to associate with d4:d5:1b:e4:13:13 (ssid='yusur-yf' freq=2452 mhz)ipv6: addrconf(netdev_change): wlan0: link becomes readywlan0: associated with d4:d5:1b:e4:13:13wlan0: wpa: key negotiation completed with d4:d5:1b:e4:13:13 [ptk=ccmp gtk=ccmp]wlan0: ctrl-event-connected - connection to d4:d5:1b:e4:13:13 completed [id=0 id_str=]wlan0: wpa: group rekeying completed with d4:d5:1b:e4:13:13 [gtk=ccmp]nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. use the iptables ct target to attach helpers instead.sending discover...sending select for 192.168.7.213...lease of 192.168.7.213 obtained, lease time 259200/etc/udhcpc.d/50default: adding dns 192.168.7.249/etc/udhcpc.d/50default: adding dns 192.168.7.250wlan finshed!root@fl-imx6ull:~# ifconfigeth0 link encap:ethernet hwaddr 26:54:f3:65:34:f0 up broadcast multicast mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)eth1 link encap:ethernet hwaddr ea:27:54:f3:65:34 up broadcast multicast dynamic mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)lo link encap:local loopback inet addr:127.0.0.1 mask:255.0.0.0 inet6 addr: ::1/128 scope:host up loopback running mtu:65536 metric:1 rx packets:2 errors:0 dropped:0 overruns:0 frame:0 tx packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 rx bytes:140 (140.0 b) tx bytes:140 (140.0 b)wlan0 link encap:ethernet hwaddr b4:6d:c2:2e:b1:94 inet addr:192.168.7.213 bcast:192.168.7.255 mask:255.255.252.0 inet6 addr: fe80::b66d:c2ff:fe2e:b194/64 scope:link up broadcast running multicast mtu:1500 metric:1 rx packets:103 errors:0 dropped:0 overruns:0 frame:0 tx packets:41 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:26199 (25.5 kib) tx bytes:9211 (8.9 kib)root@fl-imx6ull:~# ethtool -i wlan0driver: rtl8723duversion:firmware-version:expansion-rom-version:bus-info: 1-1.4:1.2supports-statistics: nosupports-test: nosupports-eeprom-access: nosupports-register-dump: nosupports-priv-flags: noroot@fl-imx6ull:~# lsmodmodule size used by8723du 1302499 0root@fl-imx6ull:~#wifi  
3. cpu与ddr性能测试
3.1 cpu性能测试
3.1.1 查看cpu信息
查看cpu信息,反馈结果是armv7 processor(单核处理器),位宽32bit。
//------查看cpu信息:lscpu//---指令cat /proc/cpuinfo//---结果指令集:armv7 processor rev 5 (v7l)单核cpu:编号0//---注意:lscpu指令并不支持。其他可以查看cpu核数的指令是 ls -la /sys/bus/cpu/devices/反馈信息只有cpu0,即单核。//------查看cpu频率://---指令(当前频率、最高频率、最低频率)cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_cur_freqcat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_max_freqcat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_min_freq//------查看cpu温度cat /sys/class/thermal/thermal_zone0/temp在u-boot中显示cpu工作温度范围(-40c to 105c),设置节温为105摄氏度。//------log信息root@fl-imx6ull:~# cat /proc/cpuinfoprocessor : 0model name : armv7 processor rev 5 (v7l)bogomips : 3.00features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpaecpu implementer : 0x41cpu architecture: 7cpu variant : 0x0cpu part : 0xc07cpu revision : 5hardware : freescale i.mx6 ultralite (device tree)revision : 0000serial : 172041d75d5b170croot@fl-imx6ull:~# ls -la /sys/bus/cpu/devices/drwxr-xr-x 2 root root 0 dec 16 10:34 .drwxr-xr-x 4 root root 0 dec 16 10:34 ..lrwxrwxrwx 1 root root 0 dec 16 10:34 cpu0 - > ../../../devices/system/cpu/cpu0root@fl-imx6ull:~# ls /sys/bus/cpu/devices/cpu0root@fl-imx6ull:~# cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_cur_freq198000root@fl-imx6ull:~# cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_max_freq792000root@fl-imx6ull:~# cat /sys/bus/cpu/devices/cpu0/cpufreq/cpuinfo_min_freq198000root@fl-imx6ull:/sys/bus/cpu/devices# cat /sys/class/thermal/thermal_zone0/temp52178root@fl-imx6ull:~#  
3.1.2 cpu 压力测试
cpu 的压力的测试方式有很多,我们通过 bc 命令来计算圆周率方法来测试 cpu 在运算过程中的稳定性。
//------cpu压力测试:pi(派)运算//---执行pi(派)运算echo scale=500; 4*a(1) | bc -l -q 或者echo scale=500; 4*a(1) | bc -l -q &//---计时模式执行pi(派)运算:统计时间只能当作参考time echo scale=500; 4*a(1) | bc -l -q & 或者time echo scale=5000; 4*a(1) | bc -l -q &上述命令将在后台计算的 pi,并精确到小数点后 500位 或 5000位,计算过程需要一段时间。圆周率500位计算时间约0.53秒,圆周率5000位计算时间约2分24秒后。在计算期间 cpu 使用率达到 100%,没有发生异常,说明 cpu 压力测试通过。还可以继续增加精确值,可进一步提高测试压力。//------log信息root@fl-imx6ull:~# echo scale=500; 4*a(1) | bc -l -q3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912root@fl-imx6ull:~# time echo scale=500; 4*a(1) | bc -l -q3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912real 0m0.531suser 0m0.500ssys 0m0.020sroot@fl-imx6ull:~# time echo scale=5000; 4*a(1) | bc -l -q3.141592653589793238462643383279502884197169399375105820974944592307(此处省略部分数字)7435136222247715891504953098444893330963408780769325993978054193414473774418426312986080998886874132604720real 2m24.559suser 2m24.060ssys 0m0.020sroot@fl-imx6ull:~#  
3.1.3 shell脚本实现温度监测
通过将读取的温度值进行浮点除法运算,即可将温度直观的转换为常用的摄氏度;添加sleep的1秒延时,可以实现一秒一次温度打印输出。
温度读取脚本“run_cpu_thermal.sh”内容如下:
#!/bin/bash# ------dividend=1000 ;while truedoecho ***********************************date# echo board_temperature is :# cat /sys/class/thermal/thermal_zone0/tempecho temp=/sys/class/thermal/thermal_zone0/temp ;divisor=$(cat $temp) ;echo board_temperature is : $bd_tempbd_temp= awk 'begin{printf %.4f ℃ n,'$divisor' '/' '$dividend'}'sleep 1done  
3.2 ddr内存性能测试  
飞凌okmx6ull-c开发平台采用 512mb ddr-sdram ,下面进行内存测试。  
3.2.1 ddr内存基本信息
通过“free -h”指令读取内存ddr的使用情况。
//------测试工具free//---测试指令free -h或者free -m//---参数解析-h 参数代表单位为 gbyte-m 参数代表单位为 mbytetotal :内存总量used :被使用的内存量free :可使用的内存量//------log信息root@fl-imx6ull:~# free -h total used free shared buff/cache availablemem: 477m 31m 373m 1.1m 73m 368mswap: 0b 0b 0broot@fl-imx6ull:~#  
3.2.2 查看内存信息
读取系统中的内存的参数信息,则可以通过/proc/meminfo 文件得到。
//------查看内存信息cat /proc/meminfo//---参数解析memtotal:所有可用的 ram 大小,物理内存减去预留位和内核使用memfree :lowfree + highfreebuffers:用来给块设备做缓存的大小cached:文件的缓冲区大小swapcached:已经被交换出来的内存。与 i/o 相关active:经常(最近)被使用的内存inactive:最近不常使用的内存//------log信息root@fl-imx6ull:~# cat /proc/meminfomemtotal: 489380 kbmemfree: 382032 kbmemavailable: 377844 kbbuffers: 15772 kbcached: 43064 kbswapcached: 0 kbactive: 54068 kbinactive: 27196 kbactive(anon): 22648 kbinactive(anon): 864 kbactive(file): 31420 kbinactive(file): 26332 kbunevictable: 0 kbmlocked: 0 kbhightotal: 0 kbhighfree: 0 kblowtotal: 489380 kblowfree: 382032 kbswaptotal: 0 kbswapfree: 0 kbdirty: 0 kbwriteback: 0 kbanonpages: 22428 kbmapped: 24564 kbshmem: 1084 kbslab: 16620 kbsreclaimable: 9384 kbsunreclaim: 7236 kbkernelstack: 728 kbpagetables: 1024 kbnfs_unstable: 0 kbbounce: 0 kbwritebacktmp: 0 kbcommitlimit: 244688 kbcommitted_as: 76468 kbvmalloctotal: 1548288 kbvmallocused: 37188 kbvmallocchunk: 1329932 kbcmatotal: 327680 kbcmafree: 326632 kbroot@fl-imx6ull:~#  
3.2.3 内存功能压力测试-memtester
内存功能压力测试-memtester
通过给定测试内存的大小和次数, 可以对系统现有的内存进行压力上的测试。可使用系统工具 memtester 进行测试,如指定内存大小 128mb,测试次数为 10,测试命令为“memtester 128m 10。
下列以使用 128mb 内存空间,单次测试为例:
//------测试工具memtester//------测试指令memtester 128m 1//---指令说明指定内存大小 128mb,测试次数为 1//------log信息root@fl-imx6ull:~# memtestermemtester version 4.3.0 (32-bit)copyright (c) 2001-2012 charles cazabon.licensed under the gnu general public license version 2 (only).pagesize is 4096pagesizemask is 0xfffff000need memory argument, in mbusage: memtester [-p physaddrbase [-d device]] [b|k|m|g] [loops]root@fl-imx6ull:~# memtester 128m 1memtester version 4.3.0 (32-bit)copyright (c) 2001-2012 charles cazabon.licensed under the gnu general public license version 2 (only).pagesize is 4096pagesizemask is 0xfffff000want 128mb (134217728 bytes)got 128mb (134217728 bytes), trying mlock ...locked.loop 1/1: stuck address : ok random value : ok compare xor : ok compare sub : ok compare mul : ok compare div : ok compare or : ok compare and : ok sequential increment: ok solid bits : ok block sequential : ok checkerboard : ok bit spread : ok bit flip : ok walking ones : ok walking zeroes : okdone.root@fl-imx6ull:~#  
//------memtester测试截图:
memtester
3.2.4 内存带宽测试-bw_mem
内存带宽测试-bw_mem工具可以对内存ram进行指定容量读写测试。
//------测试工具bw_mem//---测试指令(容量根据实际情况指定)bw_mem 100m rdbw_mem 100m wr//---测试结果wr写带宽:455.97mb/srd读带宽:917.36mb/s//------log信息root@fl-imx6ull:~# bw_mem 100m wr100.00 455.97root@fl-imx6ull:~# bw_mem 100m rd100.00 917.36root@fl-imx6ull:~#  
4. 存储功能测试
飞凌okmx6ull-c开发平台的存储介质包括emmc、tf卡(自备tf卡)和usb2.0(自备u盘)。
4.1 emmc测试
简单测试 emmc。
//------emmc信息查询:dmesg | grep mmc//------wr写入测试:40.1mb/sdd if=/dev/zero of=/test bs=1m count=500 conv=fsync//------rd读取测试:52.7mb/sdd if=/test of=/dev/zero bs=1m count=500//---log信息root@fl-imx6ull:~# dmesg | grep mmc[ 0.000000] kernel command line: console=ttymxc0,115200 calibrate= cma=64m root=/dev/mmcblk1p2 rootwait rw[ 3.082278] sdhci-esdhc-imx 2190000.usdhc: no vqmmc regulator found[ 3.135344] mmc0: sdhci controller on 2190000.usdhc [2190000.usdhc] using adma[ 3.156792] sdhci-esdhc-imx 2194000.usdhc: no vmmc regulator found[ 3.161708] sdhci-esdhc-imx 2194000.usdhc: no vqmmc regulator found[ 3.213904] mmc1: sdhci controller on 2194000.usdhc [2194000.usdhc] using adma[ 3.318388] mmc1: man_bkops_en bit is not set[ 3.351543] mmc1: new ddr mmc card at address 0001[ 3.356257] mmcblk1: mmc1:0001 88a398 7.28 gib[ 3.359897] mmcblk1boot0: mmc1:0001 88a398 partition 1 4.00 mib[ 3.365047] mmcblk1boot1: mmc1:0001 88a398 partition 2 4.00 mib[ 3.370035] mmcblk1rpmb: mmc1:0001 88a398 partition 3 4.00 mib[ 3.376503] mmcblk1: p1 p2[ 3.838887] ext3-fs (mmcblk1p2): using internal journal[ 3.843337] ext3-fs (mmcblk1p2): recovery complete[ 3.846845] ext3-fs (mmcblk1p2): mounted filesystem with ordered data mode[ 8.107465] fat-fs (mmcblk1p1): utf8 is not a recommended io charset for fat filesystems, filesystem will be case sensitive![ 8.190005] fat-fs (mmcblk1p1): volume was not properly unmounted. some data may be corrupt. please run fsck.root@fl-imx6ull:~# dd if=/dev/zero of=/test bs=1m count=500 conv=fsync500+0 records in500+0 records out524288000 bytes (524 mb, 500 mib) copied, 13.081 s, 40.1 mb/sroot@fl-imx6ull:~# dd if=/test of=/dev/zero bs=1m count=500500+0 records in500+0 records out524288000 bytes (524 mb, 500 mib) copied, 9.9576 s, 52.7 mb/sroot@fl-imx6ull:~#  
//------emmc测试:
emmc测试
4.2 tf卡测试
将 tf 卡插入开发板底板上的 tf 卡插槽,正常情况下开发板终端默认无打印信息使用 dmesg 命令可以看到信息。
//------tf卡第一分区为fat32格式|---mmcblk1p1:fat32|---mmcblk1p2:ext4//------wr写入测试:10.3mb/sdd if=/dev/zero of=/mnt/sd_0/largefile bs=1m count=512 conv=fsync//------rd读取测试:22.2mb/sdd if=/mnt/sd_0/largefile of=/dev/zero bs=1m count=512  
4.3 u盘测试
将u盘插入任意一个usb2.0接口,系统自动挂载 /run/media/ 目录。
//------usb2.0接口插入usb3.0的u盘//------wr写入测试:25.4mb/sdd if=/dev/zero of=/run/media/sda2/test bs=1m count=500 conv=fsync oflag=direct//------rd读取测试: 33.2mb/sdd if=/run/media/sda2/test of=/dev/zero bs=1m count=512  
5. usb摄像头
飞凌okmx6ull-c开发平台并未预留mipi-csi摄像头接口,不过它支持常见的usb摄像头(uvc)。
//------uvc / usb-camerauvc通俗的讲就是usb摄像头,全称为usb video class,即:usb视频类,是一种为usb视频捕获设备定义的协议标准。  
5.1 摄像头接口设备
摄像头设备位于” /dev/video*“。一般情况下, /dev/video0为usb摄像头。
//------查看摄像头设备节点a.通过设备列表查看ls -la /dev/video*b.通过v4l2-ctl工具查看v4l2-ctl --list-devices//------log信息root@fl-imx6ull:~# ls -la /dev/video*crw-rw---- 1 root video 81, 0 dec 16 10:34 /dev/video0crw-rw---- 1 root video 81, 1 dec 16 11:56 /dev/video1root@fl-imx6ull:~# ls /dev/video*/dev/video0 /dev/video1root@fl-imx6ull:~# v4l2-ctl --list-devicespxp (pxp_v4l2): /dev/video0hd 720p webcam (usb-ci_hdrc.1-1.2): /dev/video1root@fl-imx6ull:~#  
5.2 usb摄像头拍照测试
将usb摄像头插入开发板,将自动安装 uvc 添加设备节点。
//------usb-camera(某宝几十块买的usb摄像头)a.确认usb摄像头的设备节点,此处为/dev/video1。v4l2-ctl --list-devicesb.查看摄像头支持的格式与分辨率(此处打印信息较多)v4l2-ctl --list-formats-ext -d /dev/video1c..摄像头预览(拍照)gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=3 ! jpegenc ! filesink location=~/pic_of_video1.jpg(由于没有显示屏,只能将照片拷贝到u盘后在电脑查看……)e.usb-camera设备信息(查看硬件变动信息即可)dmesg | tail -11//------示例log信息:root@fl-imx6ull:~# v4l2-ctl --list-devicespxp (pxp_v4l2): /dev/video0hd 720p webcam (usb-ci_hdrc.1-1.2): /dev/video1root@fl-imx6ull:~# gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=3 ! jpegenc ! filesink location=~/pic_of_video1.jpgsetting pipeline to paused ...uvcvideo: failed to query (get_def) uvc control 1 on unit 2: -110 (exp. 2).pipeline is live and does not need preroll ...setting pipeline to playing ...new clock: gstsystemclockgot eos from element pipeline0.execution ended after 0:00:04.654356001setting pipeline to paused ...setting pipeline to ready ...setting pipeline to null ...freeing pipeline ...root@fl-imx6ull:~# lsusbbus 001 device 003: id 0bda:d723bus 001 device 004: id 1bcf:2701bus 001 device 002: id 1a40:0101bus 001 device 001: id 1d6b:0002root@fl-imx6ull:~#root@fl-imx6ull:~# dmesg | tail -11[ 4953.560706] uvcvideo: found uvc 1.00 device hd 720p webcam (1bcf:2701)[ 4953.590650] input: hd 720p webcam as /devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.2/1-1.2:1.0/input/input3[ 4953.792335] usb 1-1.2: 3:1: cannot get freq at ep 0x86[ 4953.851710] usb 1-1.2: 3:2: cannot get freq at ep 0x86[ 4953.912622] usb 1-1.2: 3:3: cannot get freq at ep 0x86[ 4953.973263] usb 1-1.2: 3:4: cannot get freq at ep 0x86[ 4954.017584] usb 1-1.2: warning! unlikely big volume range (=4096), cval- >res is probably wrong.[ 4954.025174] usb 1-1.2: [7] fu [mic capture volume] ch = 1, val = 0/4096/1[ 4954.046983] usbcore: registered new interface driver snd-usb-audio[ 5144.468020] uvcvideo: failed to query (get_def) uvc control 6 on unit 2: -32 (exp. 2).[ 5144.476376] uvcvideo: failed to query (get_def) uvc control 6 on unit 2: -32 (exp. 2).root@fl-imx6ull:~#  
5.3 usb摄像头视频测试
usb摄像头视频测试。
//------usb摄像头视频测试摄像头预览(视频)gst-launch-1.0 v4l2src device=/dev/video1 io-mode=2 ! 'video/x-raw, format=yuy2, width=640, height=480, framerate=30/1' ! waylandsink window-x=0 window-y=0 window-width=1024 window-height=600 或者ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video1  
6. 音频测试
飞凌okmx6ull-c开发平台在硬件上采用wm8960音频芯片,软件上使用主流音频框架alsa(advanced linux sound arhitechture),为应用层提供了alsa-lib,应用程序调用系统提供的api就可以完成对底层的操作。用户可以使用文件系统自带的alsa进行音频录制、播放和配置。
飞凌okmx6ull-c开发平台提供了一个3.5mm音频插座,支持左右声道播放和mic录音。
此处各测试项的详细内容参考log日志记录。
6.1 声卡检测
声卡检测通过“aplay -l”或者“aplay -l”可以查看。通过log信息可以看到只有一个声卡:card-0。
功能:card-0用于处理多媒体、系统和伴流等音频流。
至于系统中声卡的具体原理还没有深入研究,应该和设备树、驱动相关,汗……
//------声卡检测aplay -l 或者aplay -l//------log信息root@fl-imx6ull:~# aplay -l**** list of playback hardware devices ****card 0: wm8960audio [wm8960-audio], device 0: hifi wm8960-hifi-0 [] subdevices: 1/1 subdevice #0: subdevice #0card 0: wm8960audio [wm8960-audio], device 1: hifi-asrc-fe (*) [] subdevices: 1/1 subdevice #0: subdevice #0root@fl-imx6ull:~# aplay -lnull discard all samples (playback) or generate zero samples (capture)pulse pulseaudio sound serversysdefault:card=wm8960audio wm8960-audio, default audio deviceroot@fl-imx6ull:~#  
6.2 音频参数设置
音频参数主要包括音量、声道等内容。
//------音频参数配置//---3.5mm耳机音量amixer sset headphone 110,110amixer cset name='playback volume' 255,255amixer cset name='capture volume' 0,31amixer sset name='left output mixer pcm' onamixer sset name='right output mixer pcm' onamixer cset name='capture volume' 63,63//---配置播放音量amixer sset headphone 110,110amixer cset name='adc pcm capture volume' 220,220amixer cset name='left input boost mixer linput2 volume' 7amixer cset name='left input boost mixer linput3 volume' 7amixer cset name='right input boost mixer linput1 volume' 7amixer cset name='right input boost mixer linput2 volume' 7  
6.3 播放与录音测试
音频播放使用aplay指令(详细指令参考“ aplay -h ”),录音使用arecord指令(详细指令参考“ arecord -h ”)。
//------播放与录音测试//---播放测试aplay ~/test.wav//---录音测试arecord -r 44100 -f s16_le -c 2 -d 10 record.wav说明:-r 采样频率;-f 声音效果模式;-c 通道设置;-d 设置录音时间(单位秒);record.wav 文件名。//------log信息root@fl-imx6ull:~# aplay ~/test.wavplaying wave '/home/root/test.wav' : signed 16 bit little endian, rate 22050 hz, stereoroot@fl-imx6ull:~# arecord -r 44100 -f s16_le -c 2 -d 10 record.wavrecording wave 'record.wav' : signed 16 bit little endian, rate 44100 hz, stereoroot@fl-imx6ull:~#  
7. 网络丢包测试
飞凌okmx6ull-c开发平台包括两个100m有线网口eth0和eth1,可以使用iperf3工具进行丢包测试。
7.1 分配ip地址
测试前需要给两个网口配置ip地址。
//------配置ip地址ifconfig eth0 192.168.1.100ifconfig eth1 192.168.1.101//------log信息root@fl-imx6ull:~# ifconfigeth0 link encap:ethernet hwaddr 26:54:f3:65:34:f0 up broadcast multicast mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)eth1 link encap:ethernet hwaddr ea:27:54:f3:65:34 up broadcast multicast dynamic mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)lo link encap:local loopback inet addr:127.0.0.1 mask:255.0.0.0 inet6 addr: ::1/128 scope:host up loopback running mtu:65536 metric:1 rx packets:2 errors:0 dropped:0 overruns:0 frame:0 tx packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 rx bytes:140 (140.0 b) tx bytes:140 (140.0 b)root@fl-imx6ull:~# ifconfig eth0 192.168.1.100root@fl-imx6ull:~# ifconfig eth1 192.168.1.101root@fl-imx6ull:~# ifconfigeth0 link encap:ethernet hwaddr 26:54:f3:65:34:f0 inet addr:192.168.1.100 bcast:192.168.1.255 mask:255.255.255.0 up broadcast multicast mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)eth1 link encap:ethernet hwaddr ea:27:54:f3:65:34 inet addr:192.168.1.101 bcast:192.168.1.255 mask:255.255.255.0 up broadcast multicast dynamic mtu:1500 metric:1 rx packets:0 errors:0 dropped:0 overruns:0 frame:0 tx packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)lo link encap:local loopback inet addr:127.0.0.1 mask:255.0.0.0 inet6 addr: ::1/128 scope:host up loopback running mtu:65536 metric:1 rx packets:2 errors:0 dropped:0 overruns:0 frame:0 tx packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 rx bytes:140 (140.0 b) tx bytes:140 (140.0 b)root@fl-imx6ull:~# fec 20b4000.ethernet eth0: link is up - 100mbps/full - flow control rx/txipv6: addrconf(netdev_change): eth0: link becomes readyfec 2188000.ethernet eth1: link is up - 100mbps/full - flow control rx/txipv6: addrconf(netdev_change): eth1: link becomes readyroot@fl-imx6ull:~#  
7.2 udp模式丢包测试
udp模式丢包测试。
//------udp模式丢包测试#服务器端执行命令iperf3 -u -s#客户端执行命令iperf3 -u -c 192.168.1.100(服务端ip) -b 100m -t 60//在udp模式下,以100mbps为数据发送速率,客户端到服务器192.168.1.100上传带宽测试,测试时间为60秒。iperf3 -u -c 192.168.1.100 -b 5m -p 30 -t 60//客户端同时向服务器端发起30个连接线程,以5mbps为数据发送速率。iperf3 -u -c 192.168.1.100 -b 100m -d -t 60//以100m为数据发送速率,进行上下行带宽测试。  
7.3 tcp模式
tcp模式丢包测试。
//------tcp模式丢包测试#服务器端执行命令iperf3 -s#客户端执行命令iperf3 -c 192.168.1.100(服务端ip) -t 60//在tcp模式下,客户端到服务器192.168.20.249. 上传带宽测试,测试时间为60秒。iperf3 -c 192.168.1.100 -p 30 -t 60//客户端同时向服务器端发起30个连接线程。iperf3 -c 192.168.1.100 -d -t 60//进行上下行带宽测试。  
测试完一轮将服务端和客户端对换,再测一遍。
测试结束后使用ifconfig命令查看是否丢包,rx errors和tx errors 所在行各项数值全为零才是正常。
//------end


中软国际“产研一体化”助力数字化生产管理
精密可调电阻与精密电位器的七大区别
高电压大容量电解电容器的修理
彩虹新能源公布2019年度业绩 光伏玻璃营收大幅增长53.93%
NI VeriStand助力汽车ECU的HIL测试
OKMX6ULL-C开发平台试用体验
方太油烟机EM12T.S评测 目前市面上性能比较全面的油烟机
科普ROHS和REACH认证的含义
新品发布:联瑞重磅推出可靠的铁路解决方案M12接口网卡
555内部电路结构与万用表测试555芯片的性能
浪涌保护器好坏判断
比亚迪首台纯电动大巴驶入德国,全球新能源版图再扩充
网络约车“国家队”上海汽车集团
区块链的本质是什么?“拉高”售价,买家“接盘”
电梯视频监控系统的传输方式与线缆布设
贴片电感和贴片电容的区分方法
Nordic nRF51822 SoC的网状网络平台瞄准物联网应用
技术过硬融资不难,VR触感技术公司融资580万美元
Aflac与Sproutel合作推出社交鸭子机器人 旨在帮助孩子们面对癌症
lm317充电器电路图