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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox