I found a link to a DDR test and Calibration but I don't see an instruction on how to use the GUI?
Is there a usage somewhere? Step by step?
Thanks!
https://community.nxp.com/docs/DOC-105652
So far I have downloaded the Gui Version 2.52 and have loaded a script.
#i.mx6 quad, #ddr calibration on imx6 dl, #ddr calibration, #ddr systems, #ddr validation, #ddr_stress_tester, #i.mx6 system on module
-Matt
My goal is to test the DDR memory and verify that things ARE operational, or if there is some issue I need to deal with. I have had intermittent behavior with my SOM (System On Module) PCBA's. It seems that MOST of them work and some have random failures that have links to errors in memory.
It was stated in another thread - Linked above - that the computer should be the "host PC" and the i.MX6 should be "slave".
I am using Windows 7 professional.
1. I boot up from an SD card (My boot loader is also on the SD card) so I made sure that it was not installed.
2. The OTG side of the cable is connected to the i.MX6 side and USB is connected to the host PC side.
3. I opened the GUI Version 2.52
4. Powered my i.MX6 system
5. My computer recognized that a USB device was connected
6. Within the GUI I loaded the Init Script
7. Clicked Download
Then I got data output within the terminal of the GUI. SUCCESS!
Now I am having trouble doing a couple tests. I have not tried the DDR Calibration.
1. Failure to write to an address
Fail to write address 0x00111110
0x0 0x4 0x8 0xC
----------------------------------------------------------------------------------------------------------------
0x00111110: 0x00000000
memory read is done
2. Failure to run stress test
DDR Stress Test Iteration 1
Current Temperature: 46
============================================
DDR Freq: 396 MHz
t0.1: data is addr test
Address of failure: 0x10000000
Data was: 0x50000000
But pattern should match address
Error: failed to run stress test!!!
My settings are:
The output when I click Download:
My output is as follows:
============================================
DDR Stress Test (2.5.2)
Build: Mar 31 2016, 23:07:26
Freescale Semiconductor, Inc.
============================================
============================================
Chip ID
CHIP ID = i.MX6 Dual/Quad (0x63)
Internal Revision = TO1.2
============================================
============================================
Boot Configuration
SRC_SBMR1(0x020d8004) = 0x00002040
SRC_SBMR2(0x020d801c) = 0x2a000001
============================================
ARM Clock set to 1GHz
============================================
DDR configuration
BOOT_CFG3[5-4]: 0x00, Single DDR channel.
DDR type is DDR3
Data width: 64, bank num: 8
Row size: 15, col size: 10
Chip select CSD0 is used
Density per chip select: 2048MB
============================================
Why am I getting errors when I try to run a Stress test? Why can I not read / write to a memory location?
Thanks,
-Matt
Hi Matt
please check presentation on
https://community.nxp.com/docs/DOC-331528
most easy way to debug is to start with testing using jtag debugger
and checking signals with oscilloscope.
For example:
---------------------------
Address of failure: 0x10000000
Data was: 0x50000000
But pattern should match address
Error: failed to run stress test!!!
-----------------------------
means that ddr address 0x10000000 has problems with
bit 0x40000000 - it could be probably incorrectly driven high
for some reasons.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for the link. It was very helpful.
I was able to overcome the 1rst issue I reported. (Failure to write to an address)
I was choosing a random address, which as described in the presentation are not all configurable.
Error when Default is selected for DDR Density.
---------------------------
Address of failure: 0x10000000
Data was: 0x50000000
But pattern should match address
Error: failed to run stress test!!!
-----------------------------
My setup (When error occurs during DDR Stress Test) is as follows:
________________________________________________________________________________________________________________________________
BUT I CAN GET IT TO WORK SUCCESSFULLY IF I CHANGE THE: DDR_DENSITY parameter to 1GB BEFORE I click the DOWNLOAD button.
NOTE:
I get the same error as before if I use a frequency any LOWER than 400 MHz and ABOVE 475....i.e. The test ran successfully on a sweep of 400 MHz - 475 MHz. but failed at 500 MHz. with the error:
DDR Freq: 500 MHz
t0.1: data is addr test
t0: memcpy10 SSN x64 test
Address of bank2 failure: 0x29aeecc8
Data was: 0xFFFFEFFFFFEFFFFF
But pattern was: 0xFFFFEFFFFFFFFFFF
Error: failed to run stress test!!!
Here is my setup (When No Errors 400 MHz - 475 MHz occur during DDR Stress Test):
The memory seems to be reading a 2GB density still, as previously shown in original post.
ARM Clock set to 1GHz
============================================
DDR configuration
BOOT_CFG3[5-4]: 0x00, Single DDR channel.
DDR type is DDR3
Data width: 64, bank num: 8
Row size: 15, col size: 10
Chip select CSD0 is used
Density per chip select: 2048MB
============================================
Why would the GUI interface have an error when I leave the DDR Density Default and operate when I choose the DDR Density as 1GB when it reads a Density of 2048?
Is the previous test I ran still valid where it failed? (Indicating I have a problem) ....... [DDR Density set to Default]
from p.5 presentation:
"The Density information is obtained from the initscript. "
what is real density used on your board ? GUI just calculates data
from your script, if it is wrong please recheck script and enter valid data.
>Why would the GUI interface have an error when I leave the DDR Density Default and
>operate when I choose the DDR Density as 1GB when it reads a Density of 2048?
this may be related to : " No Errors 400 MHz - 475 MHz occur during DDR Stress Test"
- that is some range of memory (address lines) are excluded from test.
please use guideline from p.31 presentation:
"If using DDR3 and if you plan to run calibration, then it is important to fill out the MR1 value, like “0004”."
Thanks. I have been testing different modules using the calibration portion and I believe I have some good values that I have now input into the register programming aid script.
Q. What is real density used on your board ? GUI just calculates data
from your script, if it is wrong please recheck script and enter valid data.
A. The DDR3 we are using is (IS43TR16128B-125KBLI-TR). The datasheet shows that it is a size of 2GB. Is that the density?
It is not clear in the script where that is being calculated from. Is there a line I should edit?
I am using the following script:
ddr_stress_tester_v2.60\script\mx6dq\MX6Q_ARD_DDR3_register_programming_aid_v1.5.inc
please post this on ddr test page
https://community.freescale.com/docs/DOC-105652
where authors of that tool will look at it and probably try to
improve tool interface/descriptions for better usage.
Best regards
igor