以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下:
TF卡读写测试过程中,测试结果根据使用的TF卡的不同,会有所差异。
目前系统暂不支持自动挂载外接设备,所以测试之前,需要先将TF卡挂载到系统。系统启动之后,插入TF卡,系统能识别到TF卡设备mmcblk0:
系统识别TF卡信息
挂载mmcblk0的p1分区:
root@embfly ~# mount -t vfat /dev/mmcblk0p1 /mnt/ //将mmcblk0的p1分区挂载到mnt目录
root@embfly ~# df
载设备
挂载TF卡
从图中可以看到,mmcblk0p1已经成功挂载到了mnt目录下,可以在mnt目录下对TF卡进行读写测试了。
4.1 TF卡写速度测试
进入到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
TF卡写速度测试
从终端显示的信息中,写入的文件大小为80MiB,速度为9.6MB/s。
4.2 TF卡读速度测
说明:因为Linux的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache内容可以增加文件的读写速度。
测试过程是为了能够测试出从TF卡中读取数据的准确速度,所以需要先清除缓存。
执行以下指令,清除缓存:
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
TF卡读速度测试
从终端显示的信息中,读取的文件大小为80MiB,速度为19.9MB/s。
测试完成后,用指令删除掉测试文件:
root@embfly ~# ls -alh largefile //查看largefile文件
root@embfly ~# rm largefile //移除largefile文件
删除测试文件
测试完成后,需要将TF卡卸载:
root@embfly mnt# cd //进入用户主目录
root@embfly ~# umount /mnt //卸载mnt目录下的挂载的TF卡
root@embfly ~# df //查看磁盘占用情况,查看挂载设备
卸载TF卡
从终端显示的信息中可以看到,mmcblk0p1已经成功卸载。