Hello Afzal,

Am 13.09.2013 19:00, schrieb Afzal Mohammed:
DFU spec mentions it as a method to upgrade firmware (software stored
in writable non-volatile memory). It also says other potential uses of
DFU is beyond scope of the spec.

Here such a beyond the scope use is being attempted - directly pumping
binary images from host via USB to RAM. This facility is a developer
centric one in that it gives advantage over upgrading non-volatile
memory for testing new images every time during development and/or
testing.

Directly putting image onto RAM would speed up upgrade process. This and
convenience was the initial thoughts that led to doing this, speed
improvement over MMC was only 1 second though - 6 sec on RAM as opposed
to 7 sec on MMC in beagle bone, perhaps enabling cache and/or optimizing
DFU framework to avoid multiple copy for ram (if worth) may help, and
on other platforms and other boot media like NAND maybe improvement
would be higher.

And for a platform that doesn't yet have proper DFU suppport for
non-volatile media's, DFU to RAM can be used.

Another minor advantage would be to increase life of mmc/nand as it
would be less used during development/testing.

usage:<image name>  ram<start address>  <size>
eg. kernel ram 0x81000000 0x1000000

Downloading images to RAM using DFU is not something new, this is
acheived in openmoko also.

DFU on RAM can be used for extracting RAM contents to host using dfu
upload. Perhaps this can be extended to io for squeezing out register
dump through usb, if it is worth.

Signed-off-by: Afzal Mohammed<[email protected]>
Cc: Heiko Schocher<[email protected]>
Cc: Marek Vasut<[email protected]>
Cc: Lukasz Majewski<[email protected]>
Cc: Pantelis Antoniou<[email protected]>
Cc: Gerhard Sittig<[email protected]>
Acked-by: Marek Vasut<[email protected]>
Acked-by: Lukasz Majewski<[email protected]>
---

v4:
     avoid doing prefix increment in argument of simple_strtoul()
     collect more tags
v3: error used instead of printf
v2: remove read/write enumerator define's, instead use new common ones

  drivers/dfu/Makefile  |  1 +
  drivers/dfu/dfu.c     |  7 +++--
  drivers/dfu/dfu_ram.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++
  include/dfu.h         | 18 ++++++++++++
  4 files changed, 101 insertions(+), 2 deletions(-)
  create mode 100644 drivers/dfu/dfu_ram.c

Thanks for this work! Hmm... minor comment. Could you add a entry in
README?

Beside of that:

Acked-by: Heiko Schocher <[email protected]>

bye,
Heiko
--
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to