SD卡读写测试
本小节使用评估板配套的Linux系统启动卡来测试SD卡的读写速度。不同的SD卡以及不同大小的测试文件,对SD卡的测试结果会造成一定差异。评估板启动后,Linux系统启动卡的BOOT分区将会挂载在文件系统”/run/media/mmcblk0p1”目录下。
Target# ls /run/media/mmcblk0p1
![]()
图 40
进入评估板系统,执行以下命令测试SD写速度。
Target# time dd if=/dev/zero of=/home/root/test bs=1024K count=200
time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。
“if=/dev/zero”不产生IO,即不断输出数据,可用来测试纯写速度。

图 41
此处一共写200MByte测试数据到SD卡的test文件,可看到本次测试的SD卡写速度约为:200MB/12.70s=15.75MB/s。
- SD卡读速度测试
测完写速度之后,重启评估板,并执行以下命令测试SD卡读速度。
Target# time dd if=/home/root/test of=/dev/null bs=1024K
“of=/dev/null”不产生IO,即不断接收数据,可用来测试纯读速度。

图 42
此处从test文件中一共读出200MByte的数据,可看到本次测试的SD卡读速度约为:200MB/9.93s=20.14MB/s。
NAND FLASH读写测试
本小节对NAND FLASH的MTD6分区进行读写速度测试。MTD6是NAND FLASH的备份分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。
执行如下命令查询NAND FLASH分区,确认MTD6分区大小(读写请勿超出分区大小),将该分区内容擦除。
Target# cat /proc/mtd
Target# flash_erase /dev/mtd6 0 0

图 43
进入评估板系统,执行如下命令对NAND FLASH进行写速度测试。
Target# time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=30

图 44
此处一共写30MByte测试数据到NAND FLASH的MTD6分区下,可看到本次测试的NAND FLASH写速度约为:30MB/6.62s=4.53MB/s。
重启评估板,进入评估板系统,执行如下命令对NAND FLASH进行读速度测试。
Target# time dd if=/dev/mtd6 of=/dev/null bs=1024k

图 45
此处从NAND FLASH的MTD6分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/2.59s=11.58MB/s。

本文介绍了一种针对嵌入式系统的存储性能测试方法,包括SD卡、NAND FLASH及USB接口等多种存储介质的读写速度测试流程。通过具体实例展示了如何进行测试设置与结果分析。
最低0.47元/天 解锁文章
493

被折叠的 条评论
为什么被折叠?



