<?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: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1658146#M52743</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/216292"&gt;@jrevans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;enter ISP mode via the Reinvoke ISP command, recommend you use SDK driver,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;based on iap_basic demo, use&amp;nbsp;void IAP_ReinvokeISP(uint8_t ispType, uint32_t *status).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;There is a similar thread as below, you can refer to:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/LPC-Microcontrollers/How-to-reinvoke-bootloader-in-LPC824-with-iap-command/m-p/704555" target="_blank"&gt;https://community.nxp.com/t5/LPC-Microcontrollers/How-to-reinvoke-bootloader-in-LPC824-with-iap-command/m-p/704555&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
    <pubDate>Fri, 26 May 2023 06:54:08 GMT</pubDate>
    <dc:creator>Alice_Yang</dc:creator>
    <dc:date>2023-05-26T06:54:08Z</dc:date>
    <item>
      <title>LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1657934#M52739</link>
      <description>&lt;P&gt;I'm writing some code for the LPC802 using the LPCXpresso802 OM40000 Rev A dev board, eventually using our own board.&lt;/P&gt;&lt;P&gt;My application uses the serial port for host communications, and I need to be able to perform firmware updates via this same serial link.&amp;nbsp; On the board that will use the LPC802, we will not have access to the ISP and RESET lines.&lt;/P&gt;&lt;P&gt;I've looked at the IAP commands from the &lt;A title="LPC802 User Manual" href="https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true" target="_blank" rel="noopener"&gt;manual&lt;/A&gt; and I can successfully make IAP calls&amp;nbsp;to successfully read the UID, Boot Code version number and the Part Identification number, so the IAP calls do work.&lt;/P&gt;&lt;P&gt;But, I don't seem to be able to enter ISP mode via the Reinvoke ISP command.&lt;/P&gt;&lt;P&gt;The manual says this in section 4.6.8:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;Table 35. Reinvoke ISP&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Command&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Compare&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Input&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Command code: 57 (decimal)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Param0(mode): ISP interface selection&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 - USART ISP&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Status code&amp;nbsp; &amp;nbsp;ERR_ISP_REINVOKE_ISP_CONFIG&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Result&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; None.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Description&amp;nbsp; &amp;nbsp;This command is used to invoke the ISP. If the ISP is&amp;nbsp;&lt;/FONT&gt;&lt;SPAN&gt;invoked, then the CPU clock is switched to FRO.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This command is used to invoke the boot loader in ISP mode. It maps boot vectors and configures the peripherals for ISP.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This command may be used when a valid user program is present in the internal flash memory and the ISP entry pin are not accessible to force the ISP mode.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If using USART ISP mode, enable the clocks to the default before calling this command.&lt;/FONT&gt;&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;I have a simple glob of code which just does:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;__disable_irq();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;IAP.cmd = IAP_REINVOKE_ISP;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;IAP_Call(&amp;amp;IAP.cmd, &amp;amp;IAP.stat); // Make the IAP call to reinvoke ISP&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;But it doesn't seem to properly enter ISP mode.&lt;/P&gt;&lt;P&gt;On the OM40000 dev board,&amp;nbsp;I can use Flash Magic to successfully connect to my device when I press and hold the ISP button, press and release the RESET button and then release the ISP button, but I won't have access to those inputs on my final product.&amp;nbsp; When I command the device into ISP mode via a serial message which invokes the code above (&lt;EM&gt;and then quickly close PuTTY and start a query from Flash Magic&lt;/EM&gt;) I cannot connect/synchronize with the LPC802, but in PuTTY, I do see a quick glob of garbage characters after I issue the reinvoke command.&lt;/P&gt;&lt;P&gt;Any ideas?&amp;nbsp; Does it have something to do with the line which says: "If using USART ISP mode, enable the clocks to the default before calling this command."?&amp;nbsp; Some of the other threads on here mention something about disabling optimization for the call?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 May 2023 21:14:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1657934#M52739</guid>
      <dc:creator>jrevans</dc:creator>
      <dc:date>2023-05-25T21:14:50Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1658146#M52743</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/216292"&gt;@jrevans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;enter ISP mode via the Reinvoke ISP command, recommend you use SDK driver,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;based on iap_basic demo, use&amp;nbsp;void IAP_ReinvokeISP(uint8_t ispType, uint32_t *status).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;There is a similar thread as below, you can refer to:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/LPC-Microcontrollers/How-to-reinvoke-bootloader-in-LPC824-with-iap-command/m-p/704555" target="_blank"&gt;https://community.nxp.com/t5/LPC-Microcontrollers/How-to-reinvoke-bootloader-in-LPC824-with-iap-command/m-p/704555&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2023 06:54:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1658146#M52743</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2023-05-26T06:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661115#M52811</link>
      <description>&lt;P&gt;Thanks for the guidance&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/27788"&gt;@Alice_Yang&lt;/a&gt;&amp;nbsp;but I'm still not having much luck.&lt;/P&gt;&lt;P&gt;I created a new project to utilize the SDK driver version of&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;IAP_ReinvokeISP()&lt;/STRONG&gt; but I still cannot seem to get the LPCXpresso802 OM40000 board Rev A board to get into ISP mode.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's the snippet of code that I'm using to invoke the SDK call:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;__disable_irq();&lt;BR /&gt;uint8_t isp_type = 1;&lt;BR /&gt;uint32_t status;&lt;BR /&gt;IAP_ReinvokeISP(isp_type, &amp;amp;status);&lt;/PRE&gt;&lt;P&gt;The UM11045 user manual for the LPC802 seems to say to use the isp_type value of 1, but I've also tried a value of 0 and FlashMagic won't connect and do the Read Signature.&lt;/P&gt;&lt;P&gt;Again, if I press and hold ISP, then press and release RESET, then release ISP, FlashMagic will connect and return valid data when I do a Read Signature.&lt;/P&gt;&lt;P&gt;Do I have a misunderstanding on how ReinvokeISP() works?&amp;nbsp; When I utilize that function, will FlashMagic not work because it maybe doesn't to the ?, Auto-Baud, OK, Connected handshake?&amp;nbsp; Does ReinvokeISP() put the system into ISP mode without any of that handshaking process?&lt;/P&gt;&lt;P&gt;I've tried just using a serial terminal and after initiating the call to ReinvokeISP() I sent a &lt;STRONG&gt;J&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;/STRONG&gt; in an attempt to read the Part ID, but no luck.&lt;/P&gt;&lt;P&gt;Table 35, Section 4.6.8 in the user manual entry for Reinvoke ISP mentions:&amp;nbsp;&amp;nbsp;&lt;EM&gt;If using USART ISP mode, enable the clocks to the default before calling this command.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Is that something that I need to manually do?&lt;/P&gt;</description>
      <pubDate>Wed, 31 May 2023 18:51:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661115#M52811</guid>
      <dc:creator>jrevans</dc:creator>
      <dc:date>2023-05-31T18:51:27Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661443#M52816</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/216292"&gt;@jrevans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) You can use Flash Magic to check whether your chip enter ISP mode after run Reinvoke ISP.&lt;/P&gt;
&lt;P&gt;Open Flash Magic, configure UART port, then use "Read Signature.." to check:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1685590256967.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/225746iB076CACA9B8C5120/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1685590256967.png" alt="Alice_Yang_0-1685590256967.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If still can't work, send your project to me.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Jun 2023 03:32:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661443#M52816</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2023-06-01T03:32:14Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661900#M52830</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/27788"&gt;@Alice_Yang&lt;/a&gt;&amp;nbsp;wrote:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;1) You can use Flash Magic to check whether your chip enter ISP mode after run Reinvoke ISP.&lt;/P&gt;&lt;P&gt;Open Flash Magic, configure UART port, then use "Read Signature.." to check:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If still can't work, send your project to me.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;As I mentioned in my posts, that's exactly what I've been doing with FlashMagic to verify the ISP connection.&lt;/P&gt;&lt;P&gt;This is a standard LPCXpresso802&amp;nbsp;dev board, so it should be repeatable.&amp;nbsp; I'll send you my project once I figure out how to do that....&lt;/P&gt;</description>
      <pubDate>Thu, 01 Jun 2023 12:47:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1661900#M52830</guid>
      <dc:creator>jrevans</dc:creator>
      <dc:date>2023-06-01T12:47:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1662685#M52843</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/27788"&gt;@Alice_Yang&lt;/a&gt;&amp;nbsp; &amp;nbsp;I sent the code from my project to you via the messaging system of this forum.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jun 2023 13:08:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1662685#M52843</guid>
      <dc:creator>jrevans</dc:creator>
      <dc:date>2023-06-02T13:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: LPC802 Reinvoke ISP not working with LPCXpresso802 OM40000 Rev A dev board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1663140#M52853</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/216292"&gt;@jrevans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I received your project, and run on my board, there are some issues on the code.&lt;/P&gt;
&lt;P&gt;Please check as below:&lt;/P&gt;
&lt;P&gt;1)Delete the disable interrupt code :&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1685941247886.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/226160iD872A14CEE2644F8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1685941247886.png" alt="Alice_Yang_0-1685941247886.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) Change iap_entry() function as below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;static inline void iap_entry(uint32_t *cmd_param, uint32_t *status_result)&lt;BR /&gt;{&lt;BR /&gt;// __disable_irq();&lt;BR /&gt;((IAP_ENTRY_T)FSL_FEATURE_SYSCON_IAP_ENTRY_LOCATION)(cmd_param, status_result);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then build your project again, it can works well on my side. I have taken a video about it, see my attachment.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Mon, 05 Jun 2023 05:05:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1663140#M52853</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2023-06-05T05:05:42Z</dc:date>
    </item>
    <item>
      <title>Success.  I can now reinvoke ISP from IAP</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1663508#M52860</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/27788"&gt;@Alice_Yang&lt;/a&gt;&amp;nbsp;for your post.&amp;nbsp; Removing the code in my routine where I disable the interrupts with the&amp;nbsp;&lt;STRONG&gt;__disable_irq();&lt;/STRONG&gt; line, and also removing that same line in the library's&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;fsl_iap.c&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;file's&amp;nbsp;&lt;STRONG&gt;iap_entry() &lt;/STRONG&gt;function does fix the problem, and I can now successfully enter ISP mode via IAP commands.&lt;/P&gt;&lt;P&gt;I am a bit concerned that the NXP library itself ( &lt;EM&gt;&lt;STRONG&gt;fsl_iap.c&lt;/STRONG&gt;&lt;/EM&gt; ) requires modification to remove the&amp;nbsp;&lt;STRONG&gt;__disable_irq();&lt;/STRONG&gt; line from &lt;STRONG&gt;static inline void iap_entry(uint32_t *cmd_param, uint32_t *status_result)&lt;/STRONG&gt;.&amp;nbsp; Hopefully that is still okay for the other IAP functions.&lt;/P&gt;</description>
      <pubDate>Mon, 05 Jun 2023 13:17:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC802-Reinvoke-ISP-not-working-with-LPCXpresso802-OM40000-Rev-A/m-p/1663508#M52860</guid>
      <dc:creator>jrevans</dc:creator>
      <dc:date>2023-06-05T13:17:09Z</dc:date>
    </item>
  </channel>
</rss>

