Fri Aug 30 23:32:08 EDT 2013

Programming with bootloader

Programming a new application:
- move bootloader to top flash / always keep it there?
- just keep bootloader where it is / load app separately

App slots?

How to detect bootloader / app?

How to use usb commands to reset device?

I need a good model to think about what the responsability of the
bootloader should be, and how functionality is delegated to the

Let's think about the bootloader as the kernel: keep it always there.

What about this:

- Boot record protection (later)

- App detection (app init vector = 0xFFFF means no app so start boot loader)

- USB core handled by bootloader?