Do ARM MCUs require fuse and bootloader programming like Atmel AVR? - Page 1
Forum section: electronics / general

author: zapta
author_rank: Super Contributor
timestamp: September 02, 2014, 05:42:31 am
content: My interest is in this NXP LPC11U35 board from Embedded Artistshttps://mbed.org/platforms/EA-LPC11U35/http://www.embeddedartists.com/products/boards/lpc11u35_qsb.phpWhen 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).

author: Bored@Work
author_rank: Super Contributor
timestamp: September 02, 2014, 06:02:53 am
content: Google CMSIS-DAP.

author: westfw
author_rank: Super Contributor
timestamp: September 02, 2014, 06:40:07 am
content: 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.)

author: zapta
author_rank: Super Contributor
timestamp: September 02, 2014, 07:04:35 am
content: Thanks guys.Quote from: Bored@Work on September 02, 2014, 06:02:53 amI searched and find thishttps://mbed.org/handbook/CMSIS-DAPbut it talks about an additional interface IC. The board that I mentioned does not have an interface IC, just the MCU.Quote from: westfw on September 02, 2014, 06:40:07 amThat'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.

author: true
author_rank: Frequent Contributor
timestamp: September 02, 2014, 07:14:27 am
content: 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.

author: nctnico
author_rank: Super Contributor
timestamp: September 02, 2014, 10:27:05 am
content: Quote from: zapta on September 02, 2014, 05:42:31 amNow 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.

author: jakeypoo
author_rank: Regular Contributor
timestamp: September 02, 2014, 11:03:42 am
content: 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.

author: zapta
author_rank: Super Contributor
timestamp: September 02, 2014, 04:12:42 pm
content: This is the LPC serial/usb bootloader appnote that I omitted from my last posthttp://www.lpcware.com/content/nxpfile/an11305-usb-system-programming-lpc11u3xlpc11u2xIt includes this doc and a bunch of examples and toolshttps://mbed.org/media/uploads/andersonj55126/an11305v.1.pdf

author: zapta
author_rank: Super Contributor
timestamp: September 02, 2014, 06:18:53 pm
content: 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