[U-Boot] [PATCH v4 2/3] dfu: ram support

Heiko Schocher hs at denx.de
Tue Sep 17 06:32:37 CEST 2013


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<afzal.mohd.ma at gmail.com>
> Cc: Heiko Schocher<hs at denx.de>
> Cc: Marek Vasut<marex at denx.de>
> Cc: Lukasz Majewski<l.majewski at samsung.com>
> Cc: Pantelis Antoniou<panto at antoniou-consulting.com>
> Cc: Gerhard Sittig<gsi at denx.de>
> Acked-by: Marek Vasut<marex at denx.de>
> Acked-by: Lukasz Majewski<l.majewski at samsung.com>
> ---
>
> 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 <hs at denx.de>

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list