<?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 Re: LS1046A JTAG Programming in Production in QorIQ</title>
    <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1731271#M11702</link>
    <description>&lt;P&gt;Update: We never found a solution to this issue. We ended up getting our flash memory pre-programmed from the vendor before we place them on the board&lt;/P&gt;</description>
    <pubDate>Thu, 28 Sep 2023 12:34:21 GMT</pubDate>
    <dc:creator>dykeag</dc:creator>
    <dc:date>2023-09-28T12:34:21Z</dc:date>
    <item>
      <title>LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1331137#M10482</link>
      <description>&lt;P&gt;We are moving into the production phase of our board using the LS1046A.&amp;nbsp;&amp;nbsp;&amp;nbsp; It is booting from QPSI.&amp;nbsp; We need to program that QSPI chip after assembly.&amp;nbsp;&amp;nbsp; We have the standard 10 pin JTAG header on the board and previously programmed via Code Warrior.&amp;nbsp;&amp;nbsp;&amp;nbsp; However, Code Warrior is too expensive and cumbersome for a production environment.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What other tools can be used just to program the QSPI and get the board to boot?&amp;nbsp;&amp;nbsp; We only need to load three files,&amp;nbsp; RCW, ATF, and the Ethernet driver.&amp;nbsp;&amp;nbsp;&amp;nbsp; I can probably concatenate those into a single blob file. &amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there support for this from something like OpenOCD using the CMSIS-DAP&amp;nbsp; interface?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Aug 2021 16:30:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1331137#M10482</guid>
      <dc:creator>smiller2</dc:creator>
      <dc:date>2021-08-27T16:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1331492#M10488</link>
      <description>&lt;P&gt;&lt;SPAN class="emailMessageFeedItemBody"&gt;&lt;SPAN class="emailMessageBody"&gt;There are no direct recommendations to use specific tool for production SPI Flash programming. In general any debugger tool could be used. Possible alternatives to CodeWarrior are tools from Lauterbach, Wind River, Green Hills.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Aug 2021 06:25:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1331492#M10488</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2021-08-30T06:25:40Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586781#M11286</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/130955"&gt;@smiller2&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are facing the exact same issue. Can you share what solution you came up with?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jan 2023 19:03:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586781#M11286</guid>
      <dc:creator>dykeag</dc:creator>
      <dc:date>2023-01-23T19:03:33Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586794#M11287</link>
      <description>&lt;P&gt;Unfortunately, there was no good solution to this.&amp;nbsp;&amp;nbsp; Our manufacturing uses a single PC to perform the initial programming.&amp;nbsp;&amp;nbsp; On this PC, they have an evaluation copy of CodeWarrior.&amp;nbsp;&amp;nbsp; Every time that the evaluation copy expires, then they erase the hard drive of the PC,&amp;nbsp; install the OS again, and load another evaluation copy.&amp;nbsp;&amp;nbsp;&amp;nbsp; Very time consuming.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jan 2023 20:03:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586794#M11287</guid>
      <dc:creator>smiller2</dc:creator>
      <dc:date>2023-01-23T20:03:53Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586818#M11288</link>
      <description>&lt;P&gt;Oh man, that is awful.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am currently looking into the OpenOCD solution myself, which is how I came across this thread.&lt;/P&gt;&lt;P&gt;My thinking was that we could use literally any other JTAG probe (probably a Digilent because we have a dozen of those floating around the office) and use OpenOCD to do the initial programming.&lt;/P&gt;&lt;P&gt;I noticed that in May of 2022, a commit was added to OpenOCD which added support for the ls1046a. The change appears to consist of a single configuration file. I have my doubts that this will work out-of-the-box for either of us, but it does appear to be a starting point. In particular, I don't see how OpenOCD sets the RCW or anything else that those CodeWarrior python init scripts do (DDR timing, etc). I dread trying to figure this out myself, especially considering the absolute nightmare NXP created with all the peripherals on this processor having different endianness.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The OpenOCD commit:&amp;nbsp;&lt;A href="https://review.openocd.org/c/openocd/+/6854/4" target="_blank"&gt;https://review.openocd.org/c/openocd/+/6854/4&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I come up with anything workable, I'll be sure to let you know.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-- dykeag&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jan 2023 20:57:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1586818#M11288</guid>
      <dc:creator>dykeag</dc:creator>
      <dc:date>2023-01-23T20:57:39Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1587263#M11289</link>
      <description>&lt;P&gt;&lt;A href="https://u-boot.readthedocs.io/en/latest/board/nxp/ls1046ardb.html#jtag-boot" target="_blank"&gt;https://u-boot.readthedocs.io/en/latest/board/nxp/ls1046ardb.html#jtag-boot&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2023 17:27:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1587263#M11289</guid>
      <dc:creator>stadium_aquino</dc:creator>
      <dc:date>2023-01-24T17:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1731271#M11702</link>
      <description>&lt;P&gt;Update: We never found a solution to this issue. We ended up getting our flash memory pre-programmed from the vendor before we place them on the board&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 12:34:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1731271#M11702</guid>
      <dc:creator>dykeag</dc:creator>
      <dc:date>2023-09-28T12:34:21Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734450#M11708</link>
      <description>&lt;P&gt;Did you try the semihosting thing?&lt;/P&gt;</description>
      <pubDate>Thu, 05 Oct 2023 21:13:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734450#M11708</guid>
      <dc:creator>stadium_aquino</dc:creator>
      <dc:date>2023-10-05T21:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734451#M11709</link>
      <description>&lt;P&gt;I did, and I did get it working somewhat.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;What I was never able to do was override the RCW without using CodeWarrior.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Oct 2023 21:16:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734451#M11709</guid>
      <dc:creator>dykeag</dc:creator>
      <dc:date>2023-10-05T21:16:28Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734454#M11711</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Well, what I always did was flash a minimal image with just SPL+U-Boot+FMan ucode and then reboot. That way I could download the main image over Ethernet.&lt;/P&gt;&lt;P&gt;Although, you should have a look at &lt;A href="https://lore.kernel.org/linux-arm-kernel/20230810102631.bvozjer3t67r67iy@skbuf/" target="_blank"&gt;https://lore.kernel.org/linux-arm-kernel/20230810102631.bvozjer3t67r67iy@skbuf/&lt;/A&gt;&amp;nbsp; which has how to override the RCW. I haven't tested it yet.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 05 Oct 2023 21:20:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734454#M11711</guid>
      <dc:creator>stadium_aquino</dc:creator>
      <dc:date>2023-10-05T21:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: LS1046A JTAG Programming in Production</title>
      <link>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734844#M11713</link>
      <description>&lt;P&gt;I never saw that - that is exactly what I'm looking for!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It really irks me that NXP purposefully didn't document how to override the RCW - a feature which is fairly essential to board bringup.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Oct 2023 12:35:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/QorIQ/LS1046A-JTAG-Programming-in-Production/m-p/1734844#M11713</guid>
      <dc:creator>dykeag</dc:creator>
      <dc:date>2023-10-06T12:35:02Z</dc:date>
    </item>
  </channel>
</rss>

