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

Heiko Schocher
2013-09-17T04:32:37Z

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

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