On 4.10.13 7:03 , David Brown wrote:> Does anyone have recommendations for Cortex M3/M4 microcontrollers with > a bootloader in ROM? We use a number of Freescale Kinetis devices, but > there is no ROM bootloader - programming is through either JTAG or the > EZ-Port (basically treating the chip like an SPI flash device). We have > an application where a UART-based bootloader would be very useful, and > having it in ROM would save a lot of effort and production time (like > the TI msp430 microcontrollers). There are vast numbers of M3/M4 > devices available - I am looking for recommendations for ones with a > simple and clear bootloader protocol. > > Thanks, > > DavidHave a look at Atmel SAM3 and SAM4 devices. -- Tauno Voipio
Cortex M3/M4 with bootloader ROM
Started by ●October 4, 2013
Reply by ●October 4, 20132013-10-04
Reply by ●October 4, 20132013-10-04
On 04/10/13 19:54, John Devereux wrote:> Mikko Syrjalahti <first.last@iki.fi> writes: > >> David Brown <david@westcontrol.removethisbit.com> writes: >> ... >>> the TI msp430 microcontrollers). There are vast numbers of M3/M4 >>> devices available - I am looking for recommendations for ones with a >>> simple and clear bootloader protocol. >> >> We've used a lot of LPC1768s in our project, usually JTAG programming. >> However, when we bought a tester development from an another company, >> their software wizard wrote a serial bootloader in a day. > > Yes, we write our own bootloader too. The bootloader loads itself into > RAM and executes there, allowing it to update itself if needed, as well > as the main application. > > The advantage of your own is that you can use your own interface, > instead of UART1 using RS232 or whatever. For example in a modbus system > you can update over modbus. > > The other really nice way is for the bootloader to emulate a USB flash > disk, customer can then just drag and drop the application .elf using > familiar tools, no drivers required. > >> Unfortunately I could not find manual for the protocol, but it must be >> available somewhere.. >Writing my own bootloader would not be a problem - I've done it on many different micros, and as you say you can choose your interface and your protocol to suit. But that still means we have to use something else to get the bootloader into the chip in the first place - such as the EZ Port or JTAG. If I can find a family that has a suitable bootloader already in ROM, it would make production and test easier and faster. I'll look into the LPC families. David
Reply by ●October 4, 20132013-10-04
On Friday, October 4, 2013 4:38:48 PM UTC-7, David Brown wrote:> On 04/10/13 19:54, John Devereux wrote: > > > Mikko Syrjalahti <first.last@iki.fi> writes: > > > > > >> David Brown <david@westcontrol.removethisbit.com> writes: >> Writing my own bootloader would not be a problem - I've done it on many > different micros, and as you say you can choose your interface and your > protocol to suit. But that still means we have to use something else to > get the bootloader into the chip in the first place - such as the EZ > Port or JTAG. If I can find a family that has a suitable bootloader > already in ROM, it would make production and test easier and faster.The manufacturer can pre-load the bootloader on the chip, before sending to the PCB assembly house.
Reply by ●October 5, 20132013-10-05
David Brown <david.brown@removethis.hesbynett.no> writes:> On 04/10/13 19:54, John Devereux wrote: >> Mikko Syrjalahti <first.last@iki.fi> writes: >> >>> David Brown <david@westcontrol.removethisbit.com> writes: >>> ... >>>> the TI msp430 microcontrollers). There are vast numbers of M3/M4 >>>> devices available - I am looking for recommendations for ones with a >>>> simple and clear bootloader protocol. >>> >>> We've used a lot of LPC1768s in our project, usually JTAG programming. >>> However, when we bought a tester development from an another company, >>> their software wizard wrote a serial bootloader in a day. >> >> Yes, we write our own bootloader too. The bootloader loads itself into >> RAM and executes there, allowing it to update itself if needed, as well >> as the main application. >> >> The advantage of your own is that you can use your own interface, >> instead of UART1 using RS232 or whatever. For example in a modbus system >> you can update over modbus. >> >> The other really nice way is for the bootloader to emulate a USB flash >> disk, customer can then just drag and drop the application .elf using >> familiar tools, no drivers required. >> >>> Unfortunately I could not find manual for the protocol, but it must be >>> available somewhere.. >> > > Writing my own bootloader would not be a problem - I've done it on > many different micros, and as you say you can choose your interface > and your protocol to suit. But that still means we have to use > something else to get the bootloader into the chip in the first place > - such as the EZ Port or JTAG. If I can find a family that has a > suitable bootloader already in ROM, it would make production and test > easier and faster. > > I'll look into the LPC families.Oh, sure. We use openocd at the moment, this can be scripted for automation but I have not done this yet since our testing is still a manual process. -- John Devereux
Reply by ●October 5, 20132013-10-05
David Brown wrote:>Does anyone have recommendations for Cortex M3/M4 microcontrollers with >a bootloader in ROM? We use a number of Freescale Kinetis devices, but >there is no ROM bootloader - programming is through either JTAG or the >EZ-Port (basically treating the chip like an SPI flash device). We haveInteresting, Freescale still uses EzPort? Their Coldfire V2 had it, but I didn't find any suitable "off the shelf" programming hardware, do you know any? Regarding your question: I don't know, since SWD is the way to go for me. But if USB would be an alternative, there are derivatives with a USB bootloader in ROM, LPC13xx (likely many more). I think, in a PC-Environment USB is simpler to manage today than UART. Oliver -- Oliver Betz, Munich http://oliverbetz.de/
Reply by ●October 5, 20132013-10-05
> I think, in a PC-Environment USB is simpler to manage today than UART.Not really, especially if you want to use USB in your app, then it becomes difficult to manage. For example, we wire it for USB host and it would be a headache to switch between the boot loader and app. For the PIC32, there are six UARTs, so we don't need to share. BTW, you can always use USB to UART converter for PC/laptop.
Reply by ●October 6, 20132013-10-06
edward.ming.lee@gmail.com wrote>> I think, in a PC-Environment USB is simpler to manage today than UART.> Not really, especially if you want to use USB in your app, then it > becomes difficult to manage. For example, we wire it for USB host > and it would be a headache to switch between the boot loader and app.a config switch seems to be no more effort than a second serial connector.> For the PIC32, there are six UARTs, so we don't need to share.I consider the PC side being the "problem".>BTW, you can always use USB to UART converter for PC/laptop.Not that funny. BTW: Please limit your line length to 70 characters in usenet postings. Oliver -- Oliver Betz, Munich http://oliverbetz.de/
Reply by ●October 6, 20132013-10-06
David Brown <david.brown@removethis.hesbynett.no> wrote:> I'll look into the LPC families.Have also a look at the STM32. They all have USART Bootloader in ROM, many parts also DFU bootloader. On F2/3/4 and L1, you can also reach the bootloader without setting the boot pins by using SYSCFG_MEMRMP and doing a core-reset (no system reset!). Bye -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply by ●October 6, 20132013-10-06
On 05/10/13 01:47, edward.ming.lee@gmail.com wrote:> On Friday, October 4, 2013 4:38:48 PM UTC-7, David Brown wrote: >> On 04/10/13 19:54, John Devereux wrote: >> >>> Mikko Syrjalahti <first.last@iki.fi> writes: >> >>> >> >>>> David Brown <david@westcontrol.removethisbit.com> writes: >> > >> Writing my own bootloader would not be a problem - I've done it on >> many different micros, and as you say you can choose your interface >> and your protocol to suit. But that still means we have to use >> something else to get the bootloader into the chip in the first >> place - such as the EZ Port or JTAG. If I can find a family that >> has a suitable bootloader already in ROM, it would make production >> and test easier and faster. > > The manufacturer can pre-load the bootloader on the chip, before > sending to the PCB assembly house. >That's a possibility we will certainly consider. In practice, it is more likely that we would get the distributor, rather than the manufacturer, to pre-program the devices before we mount them. Most big distributors offer such services - it's just a question of balance of convenience, price, delivering times, order quantities, etc.
Reply by ●October 6, 20132013-10-06
On 05/10/13 08:56, John Devereux wrote:> David Brown <david.brown@removethis.hesbynett.no> writes: > >> On 04/10/13 19:54, John Devereux wrote: >>> Mikko Syrjalahti <first.last@iki.fi> writes: >>> >>>> David Brown <david@westcontrol.removethisbit.com> writes: >>>> ... >>>>> the TI msp430 microcontrollers). There are vast numbers of M3/M4 >>>>> devices available - I am looking for recommendations for ones with a >>>>> simple and clear bootloader protocol. >>>> >>>> We've used a lot of LPC1768s in our project, usually JTAG programming. >>>> However, when we bought a tester development from an another company, >>>> their software wizard wrote a serial bootloader in a day. >>> >>> Yes, we write our own bootloader too. The bootloader loads itself into >>> RAM and executes there, allowing it to update itself if needed, as well >>> as the main application. >>> >>> The advantage of your own is that you can use your own interface, >>> instead of UART1 using RS232 or whatever. For example in a modbus system >>> you can update over modbus. >>> >>> The other really nice way is for the bootloader to emulate a USB flash >>> disk, customer can then just drag and drop the application .elf using >>> familiar tools, no drivers required. >>> >>>> Unfortunately I could not find manual for the protocol, but it must be >>>> available somewhere.. >>> >> >> Writing my own bootloader would not be a problem - I've done it on >> many different micros, and as you say you can choose your interface >> and your protocol to suit. But that still means we have to use >> something else to get the bootloader into the chip in the first place >> - such as the EZ Port or JTAG. If I can find a family that has a >> suitable bootloader already in ROM, it would make production and test >> easier and faster. >> >> I'll look into the LPC families. > > Oh, sure. We use openocd at the moment, this can be scripted for > automation but I have not done this yet since our testing is still a > manual process. >If we decide to use the JTAG for programming, then OpenOCD will certainly be the basis. I expect that the EZ Port will be easier and faster (if we stick to Kinetis), however.