<?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: LPC11C22 - start user program through CAN boot loader in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540302#M12039</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Mon Nov 25 05:44:44 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Well thank you for your suggestion. Disabling and clearing all interrupts before moving the stack pointer and calling the IAP did the trick. We're now able to go to ISP mode using the IAP from user code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Many thanks for the help!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:42:15 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:42:15Z</dc:date>
    <item>
      <title>LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540290#M12027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Thu Nov 21 08:14:13 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;we've seem to have run into a problem with starting a (valid) user program through the CAN ISP boot loader.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Our current design consists of an LPC11C22 with both PIO0_1 and PIO0_3 pulled to ground. Upon powerup, the LPC11C22 successfully enters the CAN boot loader mode and is responsive to commands sent from another LPC17xx board over the CAN bus. However, the final step - actually booting user code - is not happening.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First of all my CAN command and response sequence sent on the CAN bus:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; [0x67D] [0x2B 0x00 0x50 0x00 0x5A 0x5A 0x00 0x00] // unlock flash&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; [0x5FD] [0x60 0x00 0x50 0x00 0x00 0x00 0x00 0x00]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; [0x67D] [0x23 0x70 0x50 0x01 0x00 0x00 0x00 0x00] // set execution address&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; [0x5FD] [0x60 0x70 0x50 0x01 0x00 0x00 0x00 0x00]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; [0x67D] [0x2F 0x51 0x1F 0x01 0x01 0x00 0x00 0x00] // 'Go'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; [0x5FD] [0x60 0x51 0x1F 0x01 0x00 0x00 0x00 0x00]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We've verified the sequence above by using a logic analyser behind the CAN transceiver on the LPC17xx board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Some additional comments:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;* if we lift PIO0_1 before powerup the user program is successfully started&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;* normally PIO0_1 is never lifted when issueing the commands above, nor is PIO0_3. We tried lifting PIO0_1, but that didn't seem to help anyways.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;* We can successfully read the part ID when sending&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; [0x67D] [0x40 0x18 0x10 0x02 0x00 0x00 0x00 0x00]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;reply:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt; [0x5FD] [0x43 0x18 0x10 0x02 0x2B 0x10 0x31 0x14]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are we missing something or should this work?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540290#M12027</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540291#M12028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Thu Nov 21 08:37:26 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: kitt&lt;/STRONG&gt;&lt;BR /&gt;Our current design consists of an LPC11C22 with both PIO0_1 and PIO0_3 pulled to ground.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So you designed a LPC11C22 board which is alway starting in (CAN-)ISP?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this a feature or an error?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540291#M12028</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540292#M12029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Thu Nov 21 08:49:49 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;It's an intentional design choice. The reasoning behind this feature is that it would save us running an additional (ISP) control line from the LPC17xx board to the LPC11C22 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Normally the LPC17xx would simply boot to the user code through the CAN boot loader, but if we would actually need to update the firmware in the future we could do so using the CAN boot loader. At least, that was the theory. =)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Time to rethink our strategy or could this work?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540292#M12029</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540293#M12030</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Thu Nov 21 09:10:10 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm confused. So your LPC11C22 is waiting in ISP until LPC17xx is writing a GO?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I understand you right you are trying to program a LPC11Cxx with a LPC17xx?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Usually this is done by switching LPC11Cxx in ISP mode with a CAN-command, update the firmware via CAN and then just reset the LPC11Cxx. In this case no additional line is required and ISP pin is pulled up for normal operation...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540293#M12030</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540294#M12031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Fri Nov 22 02:07:14 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Your assumptions are correct, the LPC11C22 is always waiting in ISP mode until we write the GO command (using CAN). And yes, the LPC11Cxx is programmed by the LPC17xx. At least, that was our initial idea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I must say, I like your suggestion much more than our 'solution'. We missed this option entirely in the datasheet! I'll be lifting the two resistors connecting PIO0_1 and PIO0_3 to ground and use the sequence described in section 26.7.8 of the LPC11Cxx user manual.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks for the help!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540294#M12031</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:09Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540295#M12032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Nov 22 10:09:54 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: kitt&lt;/STRONG&gt;&lt;BR /&gt;I'll be lifting the two resistors connecting PIO0_1 and PIO0_3 to ground....&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would suggest to keep PIO0_3 grounded. Then CAN-ISP is selected also if you using a new empty chip or something went wrong with flashing. It's very confusing if sometimes UART-ISP is selected... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[Sorry for the late reply, this f.. SPAM-Filter was rejecting my reply &amp;gt;3 hours...]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540295#M12032</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540296#M12033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 24 04:15:31 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: 1234567890&lt;/STRONG&gt;&lt;BR /&gt;A little bit offtopic to your question: Why don't you use 'Reinvoke ISP (IAP)'? You don't need any external components or physical contact to the chip. Pure software for reprogramming via CAN.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: kitt&lt;/STRONG&gt;&lt;BR /&gt;... and use the sequence described in [color=#f00]section 26.7.8[/color] of the LPC11Cxx user manual.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;[color=#f00]26.7.8[/color] Reinvoke ISP (IAP)&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540296#M12033</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540297#M12034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by 1234567890 on Sun Nov 24 10:13:56 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;O.k., you're right, I'm not so familiar with the different numbers of the sections in the UM ...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540297#M12034</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540298#M12035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Mon Nov 25 01:15:58 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Couldn't post this on friday due to the spamfilter, but let's try again:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I agree with you R2D2, left PIO0_3 grounded for now.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, using the code from "invokeisp" in the examples folder of LPCXpresso I cannot seem to get contact with the boot loader anymore from the LPC17xx after the user program at the LPC11Cxx called ReinvokeISP(). At least, that's what I gather from not getting a reply after requesting the part ID (using a CAN logic analyzer).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Powering up the same hardware with PIO0_1 pulled down to ground (made a jumper connection) does give me a reply when requesting the part ID.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Not sure what went wrong now...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540298#M12035</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540299#M12036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Mon Nov 25 03:35:22 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: kitt&lt;/STRONG&gt;&lt;BR /&gt;Not sure what went wrong now...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Stack offset?&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%2Fwww.support.code-red-tech.com%2FCodeRedWiki%2FReserveIAPRam" rel="nofollow" target="_blank"&gt;http://www.support.code-red-tech.com/CodeRedWiki/ReserveIAPRam&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: kitt&lt;/STRONG&gt;&lt;BR /&gt;However, using the code from "invokeisp" in the examples folder of LPCXpresso I cannot seem to get contact with the boot loader anymore from the LPC17xx after the user program at the LPC11Cxx called ReinvokeISP(). &lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you using this sample or just parts of this code?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540299#M12036</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:13Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540300#M12037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Mon Nov 25 04:09:27 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Setting the stack offset was something I had forgotten about. After correcting it, still no luck.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not running the "invokeisp" example itself. I basically took the invokeisp_main.c file, commented the main() section and kept the rest.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I receive a command from the CAN bus to go to the ISP mode I set a flag that is picked up by my own main loop. Main() then calls ReinvokeISP() which should put the CPU in ISP mode through IAP. Using the debugger it does seem the CPU is executing the ROM boot code. However, still no reply to my part ID request, even after a wait of a couple of seconds.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540300#M12037</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:13Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540301#M12038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Mon Nov 25 04:19:24 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Not sure what your code is doing. I would suggest to run the original sample. If that's working your code could be the problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A usual way to avoid problems with stuff like this (enabled interrupts / watchdog) is to reset the chip before IAP57... &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540301#M12038</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:14Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540302#M12039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kitt on Mon Nov 25 05:44:44 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Well thank you for your suggestion. Disabling and clearing all interrupts before moving the stack pointer and calling the IAP did the trick. We're now able to go to ISP mode using the IAP from user code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Many thanks for the help!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540302#M12039</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540303#M12040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by robotman on Wed May 14 15:24:28 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;When using "Reinvoke ISP", is the node id still always 0x7d used as described in section 26.6? If I have multiple nodes on a CAN network, how would I program them if they all use the same node id?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540303#M12040</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540304#M12041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Wed May 14 15:34:37 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: robotman&lt;/STRONG&gt;&lt;BR /&gt;If I have multiple nodes on a CAN network, how would I program them...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One after another&amp;nbsp; :) &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540304#M12041</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540305#M12042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by robotman on Wed May 14 15:39:36 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course, I realized the answer as soon as I hit 'Post': program all nodes with unique, not 0x7d, ids and only have a single node enter ISP at a time.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540305#M12042</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540306#M12043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by robotman on Thu Aug 21 16:37:08 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Section 26.6 of the LPC11Cxx user manual states that the C_CAN boot loader sets the CAN bit rate to 100 kbps. Will Reinvoke ISP (IAP) do the same thing? If so, can Reinvoke ISP be used for reprogramming within a system where the CAN bus is operating at a higher frequency and other CAN devices are active on the bus?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540306#M12043</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:17Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540307#M12044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by 1234567890 on Sat Aug 23 02:09:59 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think that the bootloader is called when using IAP. The relevant register values (like bitrate) remain unchanged. The bootloader is called after a reset and sets the bitrate to have a known frequency to operate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When using IAP &lt;/SPAN&gt;&lt;STRONG&gt;you&lt;/STRONG&gt;&lt;SPAN&gt; are responsible for the bitrate.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540307#M12044</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540308#M12045</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 Sat Aug 23 08:16:06 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: robotman&lt;/STRONG&gt;&lt;BR /&gt;Section 26.6 of the LPC11Cxx user manual states that the C_CAN boot loader sets the CAN bit rate to 100 kbps. Will Reinvoke ISP (IAP) do the same thing?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, IAP57 (Reinvoke ISP) is doing exactly what's described in UM&amp;nbsp; :D &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;This command is used to invoke the bootloader in ISP mode.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If PIO0.3 is low, C_CAN Bootloader is started, otherwise UART Bootloader...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: robotman&lt;/STRONG&gt;&lt;BR /&gt;If so, can Reinvoke ISP be used for reprogramming within a system where the CAN bus is operating at a higher frequency and other CAN devices are active on the bus?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's not recommended to do that. Active CAN devices could interpret a different baudrate as error&amp;nbsp; :O &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540308#M12045</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C22 - start user program through CAN boot loader</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540309#M12046</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by robotman on Sat Aug 23 18:07:45 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the replies, however contradictory they are. I understand the confusion, as I am likewise confused.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1234567890 says that the bit rate won't change, which is what would make most sense, is what I am hoping for, and would allow for CAN IAP in most applications.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LabRat says the opposite: the bit rate WILL be set to 100kbps in which case other devices on the bus operating at the original, higher frequency, will cause errors. This would seem to be a fatal flaw in CAN IAP for these parts. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anybody have the definitive answer? How do you know?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:42:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C22-start-user-program-through-CAN-boot-loader/m-p/540309#M12046</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:42:20Z</dc:date>
    </item>
  </channel>
</rss>

