Page 1 of 1

Means for updating firmware over USB, like DFU?

Posted: Sun Mar 16, 2008 10:58 pm
by bigtex
Hello,

I'm currently planning out my first project using AVR-USB. There's something I haven't been able to figure out yet from reading (skimming) through the documentation and these forums. I would like to use the same USB connection that the device will operate on it to also apply future firmware updates, as is done on devices with a DFU bootloader. Is that currently supported by AVR-USB or any of the related tools?

My project will be a little three-color status light for code build and test systems. It will talk to a launch daemon based on the example code in the PowerSwitch project. I'll be making about 100 to 200 of these, so I want them to be as small and cheap as possible. I want to be able to apply future firmware updates over the same USB connection that is being used to drive the device. Any input on implementing that would be really helpful.

Thanks!

Posted: Mon Mar 17, 2008 12:28 am
by christian
You want a boot loader. See http://www.obdev.at/products/avrusb/prjprog.html for examples.

Posted: Mon Mar 17, 2008 2:04 am
by Guest
So I take it the boot loader must be a separate device that programs my AVR, and not code resident on the device itself? It sure would be nice if I could have the AVR update itself, but perhaps that is not possible.

Thanks for the help so far. I'll look into the boot loaders listed on that page.

Posted: Mon Mar 17, 2008 10:33 am
by christian
The boot loader is a firmware resident in the AVR, together with your application. Not a separate device. The boot loader is in the upper most 2k of flash memory, the rest is available for your application.