[U-Boot] {Spam?} u-boot-usb DFU working but need some ideas
Marcel
korgull at home.nl
Sat Feb 5 22:20:27 CET 2011
Hi,
I finally got things working well with my SAM9G45 USB devcie controller and
continued to implement DFU for it.
I implemented it using the new gadget layer and should be compatible with the
at91_udc driver.
I have managed to get DFU working in such way that it transfers the file to
RAM. There's still a lot to do, but most things are in place and working
well. Basically after transfer to RAM, a u-boot script can handle additional
actions, so I'm in doubt about the following :
The DFU implementation I used as a basis came from openmoko. This implements
directly flashing the device.
However, my thought is that it's much better to just write the file to RAM and
let a script in u-boot handle what should happen with it (verify, boot, flash)
The DFU spec seems to handle this with the bitManifestationTolentant bit, but
the current dfu-utils don't use this bit (that can be updated of course, which
I already did).
About the way it currently works :
1) I start u-boot
2) I issue the dfuinit command (new)
3) the host can now download a file to RAM.
Any thoughts on what would be the most preferred way to do this ?
Additionally I think I will implement this as a composite driver so that both
(usb)CDC and DFU are available via USB. I have both working, but currently
must select it at compile time.
My current implementation basically is just DFU as it assumes the application
(not u-boot) to be the firmware to be updated, so no need to switch on
descriptor layer level.
Any reply on this would be nice, even if my above thoughts are in line.
I hope to be able to post my changes in 1-2 weeks. After that my time is
extremely limited due to long time travel. If anyone is interested in helping
me out posting the changes it would be very much appreciated.
Best regards,
Marcel
More information about the U-Boot
mailing list