[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