Hi Team,
For DDR memory test, we know that usually we can use memtester tools, memtester is used for high stress memory tests. But according to below info
DESCRIPTION:
memtester is an effective userspace tester for stress-testing the memory subsystem. It is very effective at finding intermittent and non-deterministic faults. Note that prob‐
lems in other hardware areas (overheating CPU, out-of-specification power supply, etc.) can cause intermittent memory faults, so it is still up to you to determine where the
fault lies through normal hardware diagnostic procedures; memtester just helps you determine whether a problem exists.
memtester will malloc(3) the amount of memory specified, if possible. If this fails, it will decrease the amount of memory requested until it succeeds. It will then attempt to
mlock(3) this memory; if it cannot do so, testing will be slower and much less effective. Run memtester as root so that it can mlock the memory it tests.
Note that the maximum amount of memory that memtester can test will be less than the total amount of memory installed in the system; the operating system, libraries, and other
system limits take some of the available memory. memtester is also limited to the amount of memory available to a single process; for example, on 32-bit machines with more than
4GB of memory, memtester is still limited to less than 4GB.
Note that it is up to you to know how much memory you can safely allocate for testing. If you attempt to allocate more memory than is available, memtester should figure that
out, reduce the amount slightly, and try again. However, this can lead to memtester successfully allocating and mlocking essentially all free memory on the system -- if other
programs are running, this can lead to excessive swapping and slowing the system down to the point that it is difficult to use. If the system allows allocation of more memory
than is actually available (overcommit), it may lead to a deadlock, where the system halts. If the system has an out-of-memory process killer (like Linux), memtester or another
process may be killed by the OOM killer.
So choose wisely..
:
Looks like this tool is not stable enough to use. Customer rather try to find a mature enough tool for testing the DDR JUST BEFORE USING it.
Currently customer is referring to the mem_test diag code [2] in PDK, however, TI only provides the test result [1] of running under R5f, which has only 2G DDR available... However, there is also 4G DDR on the EVM,
Questions from customer:
1. Could you please share us how factory side performed the mem_test diag on the EVM board to test all the 4G memory?
We also noticed seems [2] is buildable for a53 core, well, at least from the code... however, above code in [2] is really confusing ,
2. why using 0x900000000 as the DDR start? And please confirm if factory side has run the mem_test under A53 core to test all the 4G DDR on the EVM?
#define BOARD_DDR_EXT_MEM_START_ADDR (0x900000000U)
#define BOARD_DDR_EXT_MEM_END_ADDR (0x9ffffffffU)
Since:
-Thomas