Author Topic: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?  (Read 3929 times)

0 Members and 1 Guest are viewing this topic.

Offline zaptaTopic starter

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
My interest is in this NXP LPC11U35 board from Embedded Artists

https://mbed.org/platforms/EA-LPC11U35/
http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

When designing custom boards based on the Arduino Mini Pro I need first to use ICSP to program the fuses and program the bootloader in the ata328p  to make the serial bootloader working.

I plan to do the same with the LPC11U35,  basing my custom designs on the above board. Does a virgin LPC11U35 MCU from NXP also requires some initial programming of 'fuses' and /or bootloader to have the mbed USB drag and drop programming working, or does it already come from NXP with the necessary initialization and bootloader and all I need to do is solder and start using?

(my question is not how to use the jtag/swd programming but how to make the mbed USB drag programming working on my custom LPC11U35 boards).
« Last Edit: September 02, 2014, 05:44:13 am by zapta »
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #1 on: September 02, 2014, 06:02:53 am »
Google CMSIS-DAP.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #2 on: September 02, 2014, 06:40:07 am »
It looks to me like the LPC11u35 has a bootloader in ROM, and only needs a pin tied low (ok, and a second pin to select USB or serial) to execute boot code after reset.  See section 20.4 of the User Manual.  Other options that use fuses on an AVR are either handled via normal programmable registers (ie the external clock oscillator, JTAG functions) or by programming some magic flash locations (code protection.)
 

Offline zaptaTopic starter

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #3 on: September 02, 2014, 07:04:35 am »
Thanks guys.

Google CMSIS-DAP.

I searched and find this https://mbed.org/handbook/CMSIS-DAP but it talks about an additional interface IC. The board that I mentioned does not have an interface IC, just the MCU.

It looks to me like the LPC11u35 has a bootloader in ROM, and only needs a pin tied low (ok, and a second pin to select USB or serial) to execute boot code after reset.  See section 20.4 of the User Manual.  Other options that use fuses on an AVR are either handled via normal programmable registers (ie the external clock oscillator, JTAG functions) or by programming some magic flash locations (code protection.)

That's very good. I have here a NXP/EA board with a LPC11u14. I will pulldown the pin PIO_1 and will see what happens (it already has a resistor from  USB +5V to PIO_3, I presume this will chose USB over serial).

This application note seems to explain it.
 

Offline true

  • Frequent Contributor
  • **
  • Posts: 329
  • Country: us
  • INTERNET
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #4 on: September 02, 2014, 07:14:27 am »
To answer the question as posed in the topic:

Generally no, except possibly for code protection bits which are usually just more registers. Most ARM micros have a default power-on state and it is up to you to set anything how you want it in code. Many already have built-in bootloaders that need a pin tied high/low to activate.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26891
  • Country: nl
    • NCT Developments
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #5 on: September 02, 2014, 10:27:05 am »
My interest is in this NXP LPC11U35 board from Embedded Artists

https://mbed.org/platforms/EA-LPC11U35/
http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

When designing custom boards based on the Arduino Mini Pro I need first to use ICSP to program the fuses and program the bootloader in the ata328p  to make the serial bootloader working.

I plan to do the same with the LPC11U35,  basing my custom designs on the above board. Does a virgin LPC11U35 MCU from NXP also requires some initial programming of 'fuses' and /or bootloader to have the mbed USB drag and drop programming working, or does it already come from NXP with the necessary initialization and bootloader and all I need to do is solder and start using?
Now an answer specific to the device: Solder it on the board and start using it. Flashmagic is the best software for programming through a COM port. An USB to serial dongle with TTL pins is the easiest way. For serial port programming you need to bring 6 pins onto a header: 3.3V, ground, RX0, TX0, reset and a program enable pin. Put pull-ups on RX, reset and the program enable pin. The user manual (flash section) has the information on which pin is the program enable pin.

For drag & drop programming the device needs to have a USB enabled bootloader. Check the user manual for that. If yes, you can use drag & drop programming with a 'virgin' device.
« Last Edit: September 02, 2014, 10:32:55 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline jakeypoo

  • Regular Contributor
  • *
  • Posts: 56
  • Country: ca
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #6 on: September 02, 2014, 11:03:42 am »
Fresh ICs come with the USB bootloader in memory.
You can then program everything using the USB bootloader via a single binary (no fuses required).
Things can go wrong, so it doesn't hurt to keep the JTAG header out as a backup.
 

Offline zaptaTopic starter

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #7 on: September 02, 2014, 04:12:42 pm »
This is the LPC serial/usb bootloader appnote that I omitted from my last post

http://www.lpcware.com/content/nxpfile/an11305-usb-system-programming-lpc11u3xlpc11u2x

It includes this doc and a bunch of examples and tools

https://mbed.org/media/uploads/andersonj55126/an11305v.1.pdf
 

Offline zaptaTopic starter

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: Do ARM MCUs require fuse and bootloader programming like Atmel AVR?
« Reply #8 on: September 02, 2014, 06:18:53 pm »
Apparently the LPC11U1x do not support USB based ISP, only UART based. The LPC11U2x  and LPC11U3x do support both.  This is per UM10462.pdf.

I will get LPC11U35 board and will give it a try. The ISP/USB is a pretty useful feature for firmware updates by the end user.

Digikey carries it at EA-QSB-015-ND
« Last Edit: September 02, 2014, 06:20:36 pm by zapta »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf