User guide

memtest
memtest memory test
Tests memory with any or all of four tests:
Test Description
Graycode memory test Writes, reads, and verifies a graycode pattern and
an inverse graycode pattern for the specified address
range.
March memory test Writes, reads, and verifies a marching pattern
and an inverse marching pattern for the specified
address range.
Random memory test Exercises random addresses within the specified
range with random data of random length.
Victim block test Writes blocks of data to the specified address,
victimizes the data, and then reads back and verifies
the block.
Detailed Description
When you specify a starting address, the memory is allocated with the
malloc
function beginning at the starting address - 32 bytes for the length specified.
The extra 32 bytes that are allocated with
malloc
are reserved for the
malloc
function’s header information. Therefore, if you request a starting address of
0xa00000 and a length of 0x100000, the command reserves the area from 0x9fffe0
through 0xb00000. This is transparent to the user, but could be confusing if you
begin two
memtest
processes simultaneously with one beginning at 0xa00000 for
a length of 0x100000 and the other at 0xb00000 for a length of 0x100000. In this
case, the second
memtest
process displays the message:
"Unable to allocate memory of length 100000 at starting address b00000."
The second process should use the starting address of 0xb00020.
Memtest Test 1 - Graycode Test This test uses a graycode algorithm to test
a specified section of memory. The graycode algorithm used is data = (x>>1)^x
where x is an incrementing value.
Three passes are made of the memory under test.
1. Writes alternating graycode inverse graycode to each longword. This causes
all but one data bit to toggle between each longword write. For example,
graycode(0)=0x00000000 while inverse graycode(1)=0xFFFFFFFE.
Console Commands 13–65