<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to Debug IMX6ULL DDR3 Timing in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2100667#M237397</link>
    <description>&lt;P&gt;I have two sets of IMX6ULL PCBs—one designed by the manufacturer and the other designed by myself. Currently, I'm unsure how to debug the timing parameters &lt;STRONG&gt;(e.g., tCL, tRCD, tRP, tRC, ODT, ZQ, etc.)&lt;/STRONG&gt; on my own PCB.&lt;/P&gt;&lt;P&gt;Is it possible to use an oscilloscope and DDR3 data logging to modify the DCD file?&lt;/P&gt;&lt;P&gt;The program is loaded into SRAM via &lt;STRONG&gt;imx_usb&lt;/STRONG&gt;, and the DDR3 is initialized using the &lt;STRONG&gt;DCD&lt;/STRONG&gt; configuration through imx_usb. The DCD settings are referenced from &lt;STRONG&gt;U-Boot.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;IMAGE_VERSION 2&lt;BR /&gt;BOOT_FROM sd&lt;BR /&gt;DATA 4 0x020c4068 0xffffffff&lt;BR /&gt;DATA 4 0x020c406c 0xffffffff&lt;BR /&gt;DATA 4 0x020c4070 0xffffffff&lt;BR /&gt;.......................&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Read memory in SRAM and verify if it matches the input&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;void test_ddr3()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; UART1_SendString("\r\nDDR TEST\r\n");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; for (int i = 0;i &amp;lt; 8;i++) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ddr3_mem[i] = 0x12345678;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_PrintHex32Ln(ddr3_mem[0]);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (0x12345678 == ddr3_mem[0]) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_SendString("\r\nWell");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; else {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_SendString("\r\nBed!!!");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;The following output is from the manufacturer's designed PCB:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;DDR TEST&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;Well&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;The following output is from my own designed PCB:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;DDR TEST&lt;BR /&gt;0xFFFFFFFF&lt;BR /&gt;0X0000FFFF&lt;BR /&gt;0xFF3CFF3C&lt;BR /&gt;0x0000FF00&lt;BR /&gt;0xFF00FF00&lt;BR /&gt;0X0000FF00&lt;BR /&gt;0xFF3DFF3D&lt;BR /&gt;0x0000FF00&lt;BR /&gt;0x00000432&lt;BR /&gt;Bed!!!&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;Any guidance would be greatly appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 20 May 2025 12:06:03 GMT</pubDate>
    <dc:creator>Marlon</dc:creator>
    <dc:date>2025-05-20T12:06:03Z</dc:date>
    <item>
      <title>How to Debug IMX6ULL DDR3 Timing</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2100667#M237397</link>
      <description>&lt;P&gt;I have two sets of IMX6ULL PCBs—one designed by the manufacturer and the other designed by myself. Currently, I'm unsure how to debug the timing parameters &lt;STRONG&gt;(e.g., tCL, tRCD, tRP, tRC, ODT, ZQ, etc.)&lt;/STRONG&gt; on my own PCB.&lt;/P&gt;&lt;P&gt;Is it possible to use an oscilloscope and DDR3 data logging to modify the DCD file?&lt;/P&gt;&lt;P&gt;The program is loaded into SRAM via &lt;STRONG&gt;imx_usb&lt;/STRONG&gt;, and the DDR3 is initialized using the &lt;STRONG&gt;DCD&lt;/STRONG&gt; configuration through imx_usb. The DCD settings are referenced from &lt;STRONG&gt;U-Boot.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;IMAGE_VERSION 2&lt;BR /&gt;BOOT_FROM sd&lt;BR /&gt;DATA 4 0x020c4068 0xffffffff&lt;BR /&gt;DATA 4 0x020c406c 0xffffffff&lt;BR /&gt;DATA 4 0x020c4070 0xffffffff&lt;BR /&gt;.......................&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Read memory in SRAM and verify if it matches the input&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;void test_ddr3()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; UART1_SendString("\r\nDDR TEST\r\n");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; for (int i = 0;i &amp;lt; 8;i++) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ddr3_mem[i] = 0x12345678;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_PrintHex32Ln(ddr3_mem[0]);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (0x12345678 == ddr3_mem[0]) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_SendString("\r\nWell");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; else {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UART1_SendString("\r\nBed!!!");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;The following output is from the manufacturer's designed PCB:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;DDR TEST&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;0x12345678&lt;BR /&gt;Well&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;The following output is from my own designed PCB:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;DDR TEST&lt;BR /&gt;0xFFFFFFFF&lt;BR /&gt;0X0000FFFF&lt;BR /&gt;0xFF3CFF3C&lt;BR /&gt;0x0000FF00&lt;BR /&gt;0xFF00FF00&lt;BR /&gt;0X0000FF00&lt;BR /&gt;0xFF3DFF3D&lt;BR /&gt;0x0000FF00&lt;BR /&gt;0x00000432&lt;BR /&gt;Bed!!!&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;Any guidance would be greatly appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 May 2025 12:06:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2100667#M237397</guid>
      <dc:creator>Marlon</dc:creator>
      <dc:date>2025-05-20T12:06:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to Debug IMX6ULL DDR3 Timing</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2100860#M237411</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;This parameter values are initial or target settings that are used before the DDR training performed in CPU side. During boot, the memory controller performs a calibration and adjusts these parameters according to the board conditions.&lt;/P&gt;
&lt;P&gt;Even in the same design these values can vary since the conditions between the boards are not the same.&lt;/P&gt;
&lt;P&gt;I suggest you perform a DDR stress test to generate the initialization/timing scripts according to your design.&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Tue, 20 May 2025 18:15:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2100860#M237411</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2025-05-20T18:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to Debug IMX6ULL DDR3 Timing</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2113723#M238045</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Currently, the DDR is operational, which was caused by the soldering issue.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;Additionally, is the "DDR stress test" you mentioned referring to ddr_stress_tester_v3.00?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;This program runs on Windows, and I hope to write a fully automated testing framework on Linux, aiming to incorporate the functionalities of ddr_stress_tester_v3.00.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;Does the official source provide the source code? &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ddr_stress_tester_v3.00 and the source code for the ddr-test-mx6ull.bin file.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 10 Jun 2025 15:31:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Debug-IMX6ULL-DDR3-Timing/m-p/2113723#M238045</guid>
      <dc:creator>Marlon</dc:creator>
      <dc:date>2025-06-10T15:31:38Z</dc:date>
    </item>
  </channel>
</rss>

