From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support
Date: Wed, 28 Feb 2018 00:54:46 +0100 [thread overview]
Message-ID: <20180228005446.3d7480a7@jawa> (raw)
In-Reply-To: <CAKaJLVtPuZGNSUWMatC4T0oE7UXrRVcBSXJY2pQ-8tSGW_4_ig@mail.gmail.com>
Hi Sam,
> On 27 February 2018 at 23:56, Lukasz Majewski <lukma@denx.de> wrote:
> > Hi Sam,
> >
> >> Standard and recommended way to upgrade the firmware is DFU. But
> >> DFU has extremely low transmission speed (around 150 KiB/sec),
> >> thus it's a bad fit for flashing big images (like rootfs). Low DFU
> >> speed is mostly due to next reasons (kudos to Ruslan Bilovol for
> >> investigation): 1. DFU works only via EP0, per DFU specification
> >> [1]. But AM335x doesn't have DMA for EP0, according to AM335x TRM
> >> [2]: from section 16.2:
> >>
> >> "The CPPI DMA can be used to service Endpoints 1 to 15 not
> >> Endpoint 0. CPU access method is used to service Endpoint 0
> >> transactions."
> >>
> >> 2. Max transmission packet size via EP0 is 64 bytes, whereas for
> >> other endpoints max transmission packet size is 512 bytes
> >
> > DFU was (and still is) supposed to work on all devices - even those
> > with very tiny resources (like st microcontrollers).
> >
> > According to USB spec, EP0 is mandatory, so that is the reason for
> > using it as a common denominator.
> >
> > Just for the record - fastboot is one of the options here.
> >
> > For BBB you may want to look at "dfu tftp" - which uses ETH's tftp
> > protocol with dfu backend. It is supposed to be a remedy for problem
> > described above.
> >
> > More information at:
> > ./doc/README.dfutftp
> >
>
> Thank you for the explanation, Lukasz! Didn't know that "dfu tftp" was
> designed to overcome that slow speed issue. Will try that.
You may also want to try UMS (USB Mass Storage) - "ums".
It will export your BBB to be visible as USB Mass Storage device (like
a pendrive).
From that point you can use dd to write MBR, rootfs, u-boot to it.
Another - good option for flashing is SWUpdate SW:
https://github.com/sbabic/swupdate
It allows very easy integration with OE/Yocto and Buildroot.
What is even more important - it supports BBB out of the box:
https://github.com/sbabic/meta-swupdate-boards/tree/master/recipes-support/swupdate/swupdate
SWUpdate is a versatile tool with a loot of nice features - please read:
https://sbabic.github.io/swupdate/
>
> >
> > Of course I also don't mind using fastboot - it depends on your use
> > case.
> >
>
> Yes, I'm trying to make BBB board to be a good educational platform
> (we are working on some corporate courses). Main points are it's an
> open hardware, has a good support in upstream and has a good pricing.
> Anyway, my idea is to show people all the conventional methods for
> flashing the board, so I need both Ethernet and USB ways working.
>
> Also, I noticed that Debian rootfs is recommended to be flashed to
> eMMC using SD card (and flashing is done from booted system, not from
> U-Boot). Although I understand that this may be easier for an end user
> (as it closely resembles PC way), still I can't say that I
> particularly like or approve that method (especially for development
> purposes). That's why I think that having functional USB link would be
> beneficial for BBB.
>
> >>
> >> fastboot specification [3], on the other hand, says nothing about
> >> which EP should be used (and I see that EP1 is used on BBB board).
> >> So let's enable fastboot flash support on BeagleBone Black board to
> >> provide a better way to flash big images via USB.
> >>
> >> [1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf
> >> [2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf
> >> [3]
> >> https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md
> >>
> >> Sam Protsenko (2):
> >> omap: Fix AM335x build with enabled fastboot flash
> >> configs: am335x_boneblack: Enable fastboot flash capability
> >>
> >> arch/arm/mach-omap2/utils.c | 2 ++
> >> configs/am335x_boneblack_defconfig | 2 ++
> >> 2 files changed, 4 insertions(+)
> >>
> >
> >
> >
> >
> > Best regards,
> >
> > Lukasz Majewski
> >
> > --
> >
> > DENX Software Engineering GmbH, Managing Director: Wolfgang
> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email:
> > wd at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180228/110aac3a/attachment.sig>
prev parent reply other threads:[~2018-02-27 23:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-27 21:45 [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Sam Protsenko
2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko
2018-02-27 21:56 ` Lukasz Majewski
2018-02-27 21:58 ` Tom Rini
2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini
2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko
2018-02-27 21:57 ` Lukasz Majewski
2018-02-27 21:58 ` Tom Rini
2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini
2018-02-27 21:56 ` [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Lukasz Majewski
2018-02-27 23:38 ` Sam Protsenko
2018-02-27 23:54 ` Lukasz Majewski [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180228005446.3d7480a7@jawa \
--to=lukma@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.