On Tue, Oct 27, 2020 at 8:13 PM Domenico wrote:
> Is this the right repo?
Yes, correct. It is also listed on the homepage http://dfu-util.sourceforge.net/
The latest commit hash is 5c323e45.
> It seem that the -Z switch is ignored, no matter the value I specify
> the data transferred from the device is 16384.
> ID 0483:df11
> Run-time device DFU version 011a
Thanks for testing! What is this device exactly?
>From the above, your device seems to be a DfuSe device. In this case
this is the expected behavior. I would recommend a DfuSe upload,
specifying -s <address>:<length>
The standard DFU upload offers no means for the host to request a
certain length (or start), the device will simply transfer what should
be the full firmware (or whatever payload that will be). If the host
terminates the transaction prematurely, the result is undefined. In
real cases the device will often hang or act up and must be reset. The
-Z / --upload-size option name is a bit misleading, this only
specifies an /expected/ payload size that will be used to scale the
progress bar and nothing else. This was added because there is no way
for dfu-util to know how long the payload will be.
Some (all?) DfuSe bootloaders from ST seem to support a sort-of normal
DFU upload, and will send back a payload without any hint of start
address from the host. So I have preserved this functionality in
dfu-util, more as a curiosity. However the bootloader doesn't
terminate the transfer itself and my testing has shown that the
bootloader will crash if the upload goes beyond the end of the flash
memory. I therefore hardcoded a small size that I believe is safe for
all devices. I should probably add a warning if this kind of upload is
tried on a DfuSe device.
I consider the current git head to be a release candidate for the
upcoming 0.10 release of dfu-util, so I would be glad to see some
testing on various devices. I have tested on STM32F4 and will test
some custom IAP bootloaders. There are still known issues on STM32L4
and STMF0, but that has to wait for later releases.
On Sat, Sep 5, 2020 at 1:30 AM Jakub Palider wrote:
> please, review the patch and, if okay, apply it.
> It was tested with some basic scenarios for the upload size and
> results are backward compatible and work for relevant parameters:
> Use expected upload size when reading from device
> In order to limit transfer on wires stop transmission when
> expected size is reached.
Just to update the list on this: After reviewing the DFU_UPLOAD
specifications and what our --expected-size option does (simply scale
the progress bar), we agreed to drop this patch.
[sorry for breaking the thread, the original post disappeared from my mailbox]