以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下:
开发板上搭载了1路USB Host和1路USB OTG,其中USB OTG在开发板上作为程序烧录口使用,暂不测试。以下测试内容是针对USB Host的测试。
USB Host接口使用U盘进行测试,测试结果根据使用的U盘的不同,会有所差异。
5.1 USB Host写速度测试
目前系统暂不支持自动挂载外接设备,所以测试之前,需要先将U盘挂载到系统。系统启动之后,插入FAT32格式的U盘到开发板上的USB Host,系统能识别到U盘设备sda:
系统识别U盘信息
挂载sda的sda1分区:
root@embfly ~# mount -t vfat /dev/sda1 /mnt/ //将sda1分区挂载到mnt目录
root@embfly ~# df //查看磁盘占用情况,查看挂载设备
挂载U盘
从图中可以看到,sda1已经成功挂载到了mnt目录下,可以在mnt目录下对U盘进行读写测试了。进入到mnt目录:
root@embfly ~# cd /mnt //进到mnt目录
root@embfly mnt# pwd //查看当前所在目录
进入mnt目录
使用dd指令往root目录下写入数据,并生成largefile文件,文件大小为80 MiB,测试写速度。
root@embfly mnt#
dd if=/dev/zero of=./largefile bs=8k count=10240 conv=fdatasync
USB接口写速度测试
从终端显示的信息中,写入的文件大小为80MiB,速度为7.8MB/s。
5.2 USB Host读速度测试
说明:因为Linux的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache内容可以增加文件的读写速度。
测试过程是为了能够测试出从U盘中读取数据的准确速度,所以需要先清除缓存。
执行以下指令,清除缓存:
root@embfly mnt# sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" //清除页面缓存,目录项和inode
清除缓存
再次使用dd指令读取前面用dd指令写入的largefile文件,测试读速度:
root@embfly ~# dd if=./largefile of=/dev/null bs=8k
USB接口读速度测试
从终端显示的信息中,读取的文件大小为80MiB,速度为26.2MB/s。
测试完成后,用指令删除掉测试文件:
root@embfly ~# ls -alh largefile //查看largefile文件
root@embfly ~# rm largefile //移除largefile文件
删除测试文件
测试完成后,需要将U盘卸载:
root@embfly mnt# cd //进入用户主目录
root@embfly ~# umount /mnt //卸载mnt目录下的挂载的U盘
root@embfly ~# df //查看磁盘占用情况,查看挂载设备
卸载U盘
从终端显示的信息中可以看到,sda1已经成功卸载。