<?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: Stopping imx6 at reset vector</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367859#M52378</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yuri, thanks for additional comments.&lt;/P&gt;&lt;P&gt;Srapper, rereading your reply, I realized my reply sounded like&lt;/P&gt;&lt;P&gt;I was suggesting not to use the ROM code. What I was suggesting&lt;/P&gt;&lt;P&gt;was to implement the loop as the first code of the boot code that &lt;/P&gt;&lt;P&gt;ROM code would load and run. I don't know any way not to run&lt;/P&gt;&lt;P&gt;ROM code out of POR for iMX6.&lt;/P&gt;&lt;P&gt;Yuri, the problem is not so much not being able to stop the ROM&lt;/P&gt;&lt;P&gt;code but rather not being able to communicate with TAP while&lt;/P&gt;&lt;P&gt;RESET is asserted. It just happens that by the time RESET is&lt;/P&gt;&lt;P&gt;de-asserted&amp;nbsp; and the JTAG probe accesses debug registers&lt;/P&gt;&lt;P&gt;to halt, the rom code is already booting from devices.&lt;/P&gt;&lt;P&gt;This is at least what my understanding is. Please correct me if&lt;/P&gt;&lt;P&gt;this is wrong.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sinan Akman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Sep 2014 01:52:37 GMT</pubDate>
    <dc:creator>sinanakman</dc:creator>
    <dc:date>2014-09-16T01:52:37Z</dc:date>
    <item>
      <title>Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367854#M52373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I am using the DSTREAM emulator with the ARM DS5 software. The target hardware is a Frescale SABRE SD card with the imx6q processor. I connect to the target using the emulator and then set a hardware break point at address 0. Then I do a system reset from the emulator using "reset system.reset" command. But the debugger does not stop the imx6 at the reset vector. Instead, the imx6 is stopped when it is in the u-boot main loop. So, much too late to be useful. I have also tried manually asserting the POR_B line of the imx6 after setting the hardware break point and after running the imx6. Again, the debugger doesn't stop at the reset vector, but instead it stops in the main loop of u-boot. Again, too late...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To understand what's happening, I have looked at the nSRST signal on the emulator header using my scope. When I issue the "reset system.reset" command, a 100ms pulse is generated there, as expected. Then I hooked up the scope to the nTRST pin on the emulator header. To my shock, I am seeing a 5ms pulse there! This is VERY unexpected. The emulator is NOT doing this. I disconnected the emulator and asserted nSRST again. Even without the emulator, there is a pulse at the nTRST pin. So, the imx6 seems to be resetting its internal JTAG logic when it receives a POR_B. Is this a defect in the imx6? How can I prevent the internal JTAG logic from getting reset when I assert the POR_B signal?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So the main question is, how can i stop the imx6 at the reset vector? If that isn't possible, how can I stop u-boot starting from its entry point? I have tried this, too, and the DSTREAM doesn't stop there, either. It seems DSTREAM is blind for a long time after reset, then wakes up and realizes there is a break point and then stops ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 18:02:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367854#M52373</guid>
      <dc:creator>scrapper</dc:creator>
      <dc:date>2014-09-15T18:02:21Z</dc:date>
    </item>
    <item>
      <title>Re: Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367855#M52374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, on iMX6, there is no debug communication possible when RESET is asserted, so the ROM code runs until your JTAG probe can stop it.&lt;/P&gt;&lt;P&gt;The way I deal with the issues similar to this is to implement a loop right at the reset vector and I control the run afterwards.&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;Sinan Akman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 18:28:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367855#M52374</guid>
      <dc:creator>sinanakman</dc:creator>
      <dc:date>2014-09-15T18:28:52Z</dc:date>
    </item>
    <item>
      <title>Re: Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367856#M52375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for the reply!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So there is a way to completely override the internal boot ROM of the imx6 and have it jump to your code after POR? Didn't know that ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But this would require special hardware, where the imx6 is attached to some type of external memory and can directly fetch instructions from it ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, given my existing hardware, I can write a very simple program that does nothing except an infinite loop, and then load that code instead of u-boot. Once loaded, I can override it with u-boot.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 18:44:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367856#M52375</guid>
      <dc:creator>scrapper</dc:creator>
      <dc:date>2014-09-15T18:44:05Z</dc:date>
    </item>
    <item>
      <title>Re: Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367857#M52376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, you might prefer to implement your loop in uboot very early on and just sit there before rest of your uboot code is executed.You&lt;/P&gt;&lt;P&gt;could then halt or single steps etc.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sinan Akman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Sep 2014 20:14:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367857#M52376</guid>
      <dc:creator>sinanakman</dc:creator>
      <dc:date>2014-09-15T20:14:46Z</dc:date>
    </item>
    <item>
      <title>Re: Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367858#M52377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-weight: normal; font-style: normal; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d; text-align: left; text-indent: 0px;"&gt;&amp;nbsp; The only i.MX35 of i.MX series has special so called startup mode :&lt;/P&gt;&lt;P style="font-weight: normal; font-style: normal; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d; text-align: left; text-indent: 0px;"&gt;"Upon reset the PC register will remain at address 0x00000000.&lt;SPAN class="Apple-converted-space"&gt; &lt;/SPAN&gt;&lt;BR /&gt;This means no ROM code has run so far and the state of&lt;SPAN class="Apple-converted-space"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: inherit;"&gt;all internal&lt;SPAN class="Apple-converted-space"&gt; &lt;/SPAN&gt;&lt;BR /&gt;SOC registers are untouched." &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-weight: normal; font-style: normal; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d; text-align: left; text-indent: 0px;"&gt;&amp;nbsp; Perhaps, the fact, that it is impossible to stop the ARM core just&lt;SPAN class="Apple-converted-space"&gt; &lt;/SPAN&gt;&lt;BR /&gt;after reset relates to HAB technology - to avoid ROM code hacking.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/message/424009"&gt;Re: Problem halting iMX6 Chips (ARM Cortex-A9) at reset&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Sep 2014 00:13:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367858#M52377</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2014-09-16T00:13:11Z</dc:date>
    </item>
    <item>
      <title>Re: Stopping imx6 at reset vector</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367859#M52378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yuri, thanks for additional comments.&lt;/P&gt;&lt;P&gt;Srapper, rereading your reply, I realized my reply sounded like&lt;/P&gt;&lt;P&gt;I was suggesting not to use the ROM code. What I was suggesting&lt;/P&gt;&lt;P&gt;was to implement the loop as the first code of the boot code that &lt;/P&gt;&lt;P&gt;ROM code would load and run. I don't know any way not to run&lt;/P&gt;&lt;P&gt;ROM code out of POR for iMX6.&lt;/P&gt;&lt;P&gt;Yuri, the problem is not so much not being able to stop the ROM&lt;/P&gt;&lt;P&gt;code but rather not being able to communicate with TAP while&lt;/P&gt;&lt;P&gt;RESET is asserted. It just happens that by the time RESET is&lt;/P&gt;&lt;P&gt;de-asserted&amp;nbsp; and the JTAG probe accesses debug registers&lt;/P&gt;&lt;P&gt;to halt, the rom code is already booting from devices.&lt;/P&gt;&lt;P&gt;This is at least what my understanding is. Please correct me if&lt;/P&gt;&lt;P&gt;this is wrong.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sinan Akman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Sep 2014 01:52:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Stopping-imx6-at-reset-vector/m-p/367859#M52378</guid>
      <dc:creator>sinanakman</dc:creator>
      <dc:date>2014-09-16T01:52:37Z</dc:date>
    </item>
  </channel>
</rss>

