XMEGA Bootloader

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

 

I'm in need of a bootloader. To begin with I was considering writing my own however after doing a bit of research it seems there's no need to reinvent the wheel as there are plenty out there already available.

To give a little perspective of my application; I've designed a PCB that is going to be controlling some industrial equipment (Basic IO stuff, stepper motor driving, brushed DC motor driving with feedback, comms stuff) which is geared around an ATxmega128A1U. This will be communicating with a UI application, which I'm writing in C#, over USB though an FT232RL connected to USARTD0. I want to be able to update the firmware in my UI application over USB (USB at the PC, converted to UART by FTDI device for uC).

I've done a fair bit of searching for various bootloaders, with the most promising looking one being XBoot; https://github.com/alexforencich/xboot however the device I'm using isn't on the list of supported devices in the read me, so -  can anyone recommend a good bootloader? 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I started work on a serial bootloader, but it's not finished yet: https://github.com/mojo-chan/ser...

 

What device are you using? It's fairly easy to add support for new devices. The main one to watch is on the E5 things are a little different with NVM and EEPROM, but only slightly so.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks, looks good! When you say it's not finished do you mean you have more code to write or do you just need to test it? I'm using an ATxmega128A1U and I'd be happy to test it on that device.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I haven't tested it at all, and there is no PC software (the software included is from my USB bootloader). It's a work-in-progress.

 

It's set up for the E5. You could also look at https://github.com/mojo-chan/hid... which is for the 128A3U, so pretty close to your device. The other one is based on that, just with the USB stuff replaced with USART code.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Howard_Smith wrote:
... however the device I'm using isn't on the list of supported devices in the read me, ...
XMEGA128A1U is in the makefile instead of the readme for

https://github.com/bandtank/Xmega_Bootloader

An alternative is the Xmegaduino bootloader which is the Arduino bootloader; the makefile does not have XMEGA128A1U but could be modified :

https://github.com/Xmegaduino/Xmegaduino/blob/xmegaduino/hardware/arduino/xmega/bootloaders/xplain/Makefile

 

"Dare to be naïve." - Buckminster Fuller