<?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>i.MX ProcessorsのトピックRe: i.MX6 with OpenOCD - Error when performing DDR initialization commands</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405296#M60281</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solved! The problem is caused by repeated DDR initialization. The first initialization is done by a dormant boot loader in the SPI NOR flash. By forcing USB serial download mode the commands are accepted by the DDR and memory is set up correctly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 22 Jun 2015 13:42:20 GMT</pubDate>
    <dc:creator>tordandersson</dc:creator>
    <dc:date>2015-06-22T13:42:20Z</dc:date>
    <item>
      <title>i.MX6 with OpenOCD - Error when performing DDR initialization commands</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405294#M60279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In order to load and debug U-Boot on a Nitrogen Max 4G board I would like to perform initial setup as done by the IVT header appended to U-Boot. I have extracted the content of the cfg files and created an OpenOCD configuration with ddr initialization. Unfortunately, as soon as commands are sent through the command register I get a timeout.&lt;/P&gt;&lt;P&gt;The same behaviour has been observed with both Flyswatter and JLink interfaces. The initialization works OK when booting from SPI-NOR flash.&lt;/P&gt;&lt;P&gt;I have tried to adjust timing, but have not been able to pass this step. Has anyone experienced similar problems? Any workarounds?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the debug output from OpenOCD:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;Debug: 1067 52560 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_mww phys 0x021b001c 0x04088032&lt;/P&gt;&lt;P&gt;Debug: 1068 52560 command.c:145 script_debug(): command - mww ocd_mww phys 0x021b001c 0x04088032&lt;/P&gt;&lt;P&gt;Debug: 1070 52563 cortex_a.c:2661 cortex_a_write_phys_memory(): Writing memory to real address 0x21b001c; size 4; count 1&lt;/P&gt;&lt;P&gt;Warn : 1073 53569 adi_v5_jtag.c:239 jtagdp_transaction_endcheck(): Timeout (1000ms) waiting for ACK=OK/FAULT in JTAG-DP transaction - aborting&lt;/P&gt;&lt;P&gt;Debug: 1074 53572 adi_v5_jtag.c:271 jtagdp_transaction_endcheck(): jtag-dp: CTRL/STAT error, 0xf0000003&lt;/P&gt;&lt;P&gt;Debug: 1075 53572 adi_v5_jtag.c:290 jtagdp_transaction_endcheck(): MEM-AP Cached values: ap_bank 0x0, ap_csw 0xe2000022, ap_tar 0x21b001c&lt;/P&gt;&lt;P&gt;Error: 1076 53572 adi_v5_jtag.c:294 jtagdp_transaction_endcheck(): JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed&lt;/P&gt;&lt;P&gt;Debug: 1077 53574 adi_v5_jtag.c:314 jtagdp_transaction_endcheck(): jtag-dp: CTRL/STAT 0xf0000001&lt;/P&gt;&lt;P&gt;Error: 1078 53577 adi_v5_jtag.c:330 jtagdp_transaction_endcheck(): MEM_AP_CSW 0x428000e2, MEM_AP_TAR 0x21b001c&lt;/P&gt;&lt;P&gt;Error: 1079 53578 arm_adi_v5.c:404 mem_ap_write(): Failed to write memory and, additionally, failed to find out where&lt;/P&gt;&lt;P&gt;Debug: 1080 53578 command.c:628 run_command(): Command failed with error code -107&lt;/P&gt;&lt;P&gt;User : 1081 53578 command.c:689 command_run_line():&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And here is the offending command:&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;# Config commands to DDR&lt;/P&gt;&lt;P&gt;mww phys 0x021b001c 0x04088032&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The origin of the OpenOCD config file comes from the Sabre SD config in this article: &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.edlangley.co.uk%2Fblog%2F2014%2F06%2Frescuing-bricked-secure-mode-i.mx6%2F" rel="nofollow" target="_blank"&gt;http://www.edlangley.co.uk/blog/2014/06/rescuing-bricked-secure-mode-i.mx6/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336525"&gt;nitrogen_max_flyswatter.cfg.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 20:07:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405294#M60279</guid>
      <dc:creator>tordandersson</dc:creator>
      <dc:date>2015-06-16T20:07:05Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 with OpenOCD - Error when performing DDR initialization commands</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405295#M60280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Tord&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it may be recommended to JTAG_MOD=0 and check&lt;/P&gt;&lt;P&gt;jtag chains with described in Chapter 7 Configuring JTAG Tools&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf?fasp=1&amp;amp;WT_TYPE=Users%20Guides&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=pdf&amp;amp;WT_ASSET=Documentation&amp;amp;fileExt=.pdf"&gt;IMX6DQ6SDLHDG&lt;/A&gt;&lt;/P&gt;&lt;P&gt;for i.MX6 with OCD one can look at&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/305186"&gt;OpenOCD Problem i.MX6&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 13:03:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405295#M60280</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-06-18T13:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 with OpenOCD - Error when performing DDR initialization commands</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405296#M60281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solved! The problem is caused by repeated DDR initialization. The first initialization is done by a dormant boot loader in the SPI NOR flash. By forcing USB serial download mode the commands are accepted by the DDR and memory is set up correctly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jun 2015 13:42:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-with-OpenOCD-Error-when-performing-DDR-initialization/m-p/405296#M60281</guid>
      <dc:creator>tordandersson</dc:creator>
      <dc:date>2015-06-22T13:42:20Z</dc:date>
    </item>
  </channel>
</rss>

