<?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: Activating the bootloader from within a user program in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558746#M15682</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Floyd42 on Thu Mar 20 10:28:57 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading the manual helps. &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See the boot loader commands, 22.5.1.8 "Go &amp;lt;address&amp;gt; &amp;lt;mode&amp;gt;". It says:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Alternatively, the following snippet can be loaded into the RAM for execution:&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
SCB-&amp;gt;AIRCR = 0x05FA0004; //issue system reset
while(1); //should never come here
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;The snippet will issue a system reset request to the core.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And for the boot loader entry, use this code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
typedef void (*IAP)(uint32_t*, uint32_t*);
#define IAP_ENTRY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IAP)0x1fff1ff1)

typedef struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t cmdId;
} iapCmdReinvokeIsp_t;

static void iapEntry(const void * cmd, const void * res) 
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; IAP_ENTRY( (uint32_t*)cmd, (uint32_t*)res);
}

void iapReinvokeIsp(void) 
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; iapCmdReinvokeIsp_t cmd = { .cmdId = 57 };
&amp;nbsp;&amp;nbsp;&amp;nbsp; iapEntry(&amp;amp;cmd, NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1);
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:58:47 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:58:47Z</dc:date>
    <item>
      <title>Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558741#M15677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cpldcpu on Sun Feb 09 14:04:50 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have an application where the LPC800 is comminucating to a host via RS232. I would like to activate the bootloader by sending a special sequence to the user programe. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to active the bootloader from within a user programe? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If yes, is it also possible to remap the UART?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558741#M15677</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:44Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558742#M15678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by LabRat on Sun Feb 09 17:08:54 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Usually this is done with 'Reinvoke ISP' (IAP57).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another simple solution is to set your ISP pin as output (low) and reset your chip with NVIC_SystemReset()... &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558742#M15678</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:45Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558743#M15679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Thu Feb 13 02:45:57 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: LabRat&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;...and reset your chip with NVIC_SystemReset()...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This function is mentioned as a matter of course every day or two as if there were a special functionality inside the NVIC that does a RESET thingy...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't found such. What do I miss? Can someone enlighten me?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558743#M15679</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558744#M15680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by LabRat on Thu Feb 13 03:23:02 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: MarcVonWindscooting&lt;/STRONG&gt;&lt;BR /&gt;...special functionality inside the NVIC that does a RESET thingy...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are we talking about AIRCR?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Finfocenter.arm.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.arm.doc.dui0497a%2FCihehdge.html" rel="nofollow" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0497a/Cihehdge.html&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558744#M15680</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:46Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558745#M15681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Sat Feb 15 15:21:45 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: LabRat&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Are we talking about AIRCR?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Wow cool!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I (mis-)used the watchdog to cause RESET, because I did not know about that register!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In life, there are so many things to be ashame of...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558745#M15681</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558746#M15682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Floyd42 on Thu Mar 20 10:28:57 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading the manual helps. &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See the boot loader commands, 22.5.1.8 "Go &amp;lt;address&amp;gt; &amp;lt;mode&amp;gt;". It says:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Alternatively, the following snippet can be loaded into the RAM for execution:&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
SCB-&amp;gt;AIRCR = 0x05FA0004; //issue system reset
while(1); //should never come here
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;The snippet will issue a system reset request to the core.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And for the boot loader entry, use this code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
typedef void (*IAP)(uint32_t*, uint32_t*);
#define IAP_ENTRY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IAP)0x1fff1ff1)

typedef struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t cmdId;
} iapCmdReinvokeIsp_t;

static void iapEntry(const void * cmd, const void * res) 
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; IAP_ENTRY( (uint32_t*)cmd, (uint32_t*)res);
}

void iapReinvokeIsp(void) 
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; iapCmdReinvokeIsp_t cmd = { .cmdId = 57 };
&amp;nbsp;&amp;nbsp;&amp;nbsp; iapEntry(&amp;amp;cmd, NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1);
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558746#M15682</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Activating the bootloader from within a user program</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558747#M15683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Sat Mar 22 08:03:23 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Floyd42&lt;/STRONG&gt;&lt;BR /&gt;Reading the manual helps. :)&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading the &lt;/SPAN&gt;&lt;STRONG&gt;most recent&lt;/STRONG&gt;&lt;SPAN&gt; manual helps. :p &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:58:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Activating-the-bootloader-from-within-a-user-program/m-p/558747#M15683</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:58:48Z</dc:date>
    </item>
  </channel>
</rss>

