<?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>LPC MicrocontrollersのトピックRe: firmware update through USB port LPC11U14</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/firmware-update-through-USB-port-LPC11U14/m-p/524037#M6673</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Wed May 28 14:25:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Is it possible to upload code to the LPC11U14 through USB pins?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's possible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But I'm not sure, if this effort would be really worth to your paid development time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For LPC11Uxx with the on-chip USB driver, NXP provides USB-DFU examples (USBROMDriver\USB_MSC_HID_DFU) in these code bundles.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-lpcxpresso"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using LPCXpresso&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-keils-mdk-arm-0"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using Keil's MDK-ARM&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-iars-embedded-workbench"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using IAR's Embedded Workbench&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As LPC11U14 doesn't have the on-chip USB driver, you have to implement it by yourself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For this job, above code bundles are still available as the starting point.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;a) The code bundles include full-source USB device implementations without the on-chip USB driver, like USBHID, USBCDC and USBMem on USBDriver. Start with one of them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;b) From the DFU examples on the code bundle, you may drag in the descriptors (dfu_lpc11uxx_usbdesc.c or comp_lpc11uxx_usbdesc.c) to your DFU project. Also, dfu_rd/dfu_wr in lpc11uxx_usbd_dfu.c suggests FLASH read/write procedure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;c) USB-DFU protocol is not so complicated. Described in this PDF.&lt;/SPAN&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.usb.org%2Fdevelopers%2Fdocs%2Fdevclass_docs%2FDFU_1.1.pdf" rel="nofollow" target="_blank"&gt;http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Along with this protocol description, the base USB example is modified.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;d) The rest is common to bootloader project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- How to swap interrupt vector table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- How to jump to the "user" firmware from bootloader&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- code object allignment on the FLASH and RAM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You may find answrs on this MXP appnote.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/an10995-lpc1100-secondary-bootloader-software-v13"&gt;AN10995: LPC1100 secondary bootloader (with software) (v.1.3)&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For experienced USB programmer, this project finishes in one or two days. But without USB coding experience, you may feel above c) troublesome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you would work on a LPC11Uxx with on-chip USB driver, like LPC11U24, you may directly apply the USB-DFU example on the code bundle. The price difference between LPC11U14 and LPC11U24 is less than 1 USD. I believe less than a thousand lots of production wouldn't pay the development cost, even for experienced programmer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:47:53 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:47:53Z</dc:date>
    <item>
      <title>firmware update through USB port LPC11U14</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/firmware-update-through-USB-port-LPC11U14/m-p/524036#M6672</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vitor.soares on Wed May 28 08:46:36 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to upload code to the LPC11U14 through USB pins? I'm projecting a device that needs to be remotly updated via USB. I have checked the USB DFU bootloader could do the job, but i found no instrunctions for this particular MCU&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you point me how to do that, or is just to much trouble with a 11u14? I found no usefull information arround.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Vitor&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/firmware-update-through-USB-port-LPC11U14/m-p/524036#M6672</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: firmware update through USB port LPC11U14</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/firmware-update-through-USB-port-LPC11U14/m-p/524037#M6673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Wed May 28 14:25:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Is it possible to upload code to the LPC11U14 through USB pins?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's possible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But I'm not sure, if this effort would be really worth to your paid development time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For LPC11Uxx with the on-chip USB driver, NXP provides USB-DFU examples (USBROMDriver\USB_MSC_HID_DFU) in these code bundles.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-lpcxpresso"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using LPCXpresso&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-keils-mdk-arm-0"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using Keil's MDK-ARM&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-iars-embedded-workbench"&gt;Sample Code Bundle for LPC11U1x/2x/3x Peripherals using IAR's Embedded Workbench&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As LPC11U14 doesn't have the on-chip USB driver, you have to implement it by yourself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For this job, above code bundles are still available as the starting point.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;a) The code bundles include full-source USB device implementations without the on-chip USB driver, like USBHID, USBCDC and USBMem on USBDriver. Start with one of them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;b) From the DFU examples on the code bundle, you may drag in the descriptors (dfu_lpc11uxx_usbdesc.c or comp_lpc11uxx_usbdesc.c) to your DFU project. Also, dfu_rd/dfu_wr in lpc11uxx_usbd_dfu.c suggests FLASH read/write procedure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;c) USB-DFU protocol is not so complicated. Described in this PDF.&lt;/SPAN&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.usb.org%2Fdevelopers%2Fdocs%2Fdevclass_docs%2FDFU_1.1.pdf" rel="nofollow" target="_blank"&gt;http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Along with this protocol description, the base USB example is modified.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;d) The rest is common to bootloader project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- How to swap interrupt vector table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- How to jump to the "user" firmware from bootloader&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- code object allignment on the FLASH and RAM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You may find answrs on this MXP appnote.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://http://www.lpcware.com/content/nxpfile/an10995-lpc1100-secondary-bootloader-software-v13"&gt;AN10995: LPC1100 secondary bootloader (with software) (v.1.3)&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For experienced USB programmer, this project finishes in one or two days. But without USB coding experience, you may feel above c) troublesome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you would work on a LPC11Uxx with on-chip USB driver, like LPC11U24, you may directly apply the USB-DFU example on the code bundle. The price difference between LPC11U14 and LPC11U24 is less than 1 USD. I believe less than a thousand lots of production wouldn't pay the development cost, even for experienced programmer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/firmware-update-through-USB-port-LPC11U14/m-p/524037#M6673</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:53Z</dc:date>
    </item>
  </channel>
</rss>

