| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- .. SPDX-License-Identifier: GPL-2.0+
- .. Copyright 2022, Heinrich Schuchardt <xypron.glpk@gmx.de>
- mtest command
- =============
- Synopsis
- --------
- ::
- mtest [start [end [pattern [iterations]]]]
- Description
- -----------
- The *mtest* command tests the random access memory. It writes long values, reads
- them back and checks for differences. The test can be interrupted with CTRL+C.
- The default test uses *pattern* as first value to be written and varies it
- between memory addresses.
- An alternative test can be selected with CONFIG_SYS_ALT_MEMTEST=y. It uses
- multiple hard coded bit patterns.
- With CONFIGSYS_ALT_MEMTEST_BITFLIP=y a further test is executed. It writes long
- values offset by half the size of long and checks if writing to the one address
- causes bit flips at the other address.
- start
- start address of the memory range tested, defaults to
- CONFIG_SYS_MEMTEST_START
- end
- end address of the memory range tested, defaults to
- CONFIG_SYS_MEMTEST_END. If CONFIGSYS_ALT_MEMTEST_BITFLIP=y, a value will
- be written to this address. Otherwise it is excluded from the range.
- pattern
- pattern to be written to memory. This is a 64bit value on 64bit systems
- and a 32bit value on 32bit systems. It defaults to 0. The value is
- ignored if CONFIG_SYS_ALT_MEMTEST=y.
- iterations
- number of test repetitions. If the value is not provided the test will
- not terminate automatically. Enter CTRL+C instead.
- Examples
- --------
- ::
- => mtest 1000 2000 0x55aa55aa55aa55aa 10
- Testing 00001000 ... 00002000:
- Pattern AA55AA55AA55AA55 Writing... Reading...
- Tested 16 iteration(s) with 0 errors.
- Configuration
- -------------
- The mtest command is enabled by CONFIG_CMD_MEMTEST=y.
- Return value
- ------------
- The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise.
|