77f0bea7创建于 4月21日历史提交

================================================ sd_bench SD card or mount point bench test

Performs bench mark testing on SD card or other mount points using the file system layer.

A single test run.

  • Sequentially writes blocks of bytes to a test file on the device until the test duration elapses.
  • Optionally, the number of bytes written are read back and verified.

The following runtime options are available::

sdbench: [-b] [-r] [-d] [-k] [-s] [-a] [-v] -b Block size per write (1-65536), default 512 -r Number of runs (1-10000), default 5 -d Max duration of a test (ms) (1-60000), default 2000 -k Keep test file when finished, default false -s Call fsync after each block, false calls fsync only at the end of each run, default false -a Test performance on aligned data, default false -v Verify data and block number, default true

An example of a completed test::

nsh> sdbench Using block size = 512 bytes, sync = false

Testing Sequential Write Speed... Run 1: 345.9 KB/s, max write time: 156.907 ms (3.2 KB/s), fsync: 259.687 ms Run 2: 378.8 KB/s, max write time: 30.273 ms (16.5 KB/s), fsync: 240.832 ms Run 3: 372.1 KB/s, max write time: 37.630 ms (13.3 KB/s), fsync: 261.005 ms Run 4: 341.7 KB/s, max write time: 186.352 ms (2.7 KB/s), fsync: 240.875 ms Run 5: 375.6 KB/s, max write time: 37.785 ms (13.2 KB/s), fsync: 250.928 ms Avg : 362.8 KB/s, 3.999 MB written.

Testing Sequential Read Speed... Run 1: 636.5 KB/s, max read/verify time: 54.1180 ms (9.2 KB/s) Run 2: 648.9 KB/s, max read/verify time: 54.0520 ms (9.3 KB/s) Run 3: 663.2 KB/s, max read/verify time: 43.5360 ms (11.5 KB/s) Run 4: 721.8 KB/s, max read/verify time: 11.7640 ms (42.5 KB/s) Avg : 652.6 KB/s, 3.999 MB and verified

The following Kconfig options can be used to configure the application at compile time.

  • CONFIG_TESTING_SD_BENCH - Enable the SD benchmark testing utility.
  • CONFIG_TESTING_SD_BENCH_PROGNAME - The name of the program registered with nsh.
  • CONFIG_TESTING_SD_BENCH_PRIORITY - The priority of the task.
  • CONFIG_TESTING_SD_BENCH_STACKSIZE - The stacksize of the task.
  • CONFIG_TESTING_SD_BENCH_DEVICE - The mountpoint to run sdbench on.