
On Mon, Feb 18, 2013 at 11:01:42AM +0100, Lukasz Majewski wrote:
Hi Tom,
On Fri, Nov 30, 2012 at 08:01:12PM +0200, Pantelis Antoniou wrote:
We didn't support upload/download larger than available memory. This is pretty bad when you have to update your root filesystem for example.
This patch removes the limitation (and the crashes when you transfered any file larger than 4MB). On top of that reduces the huge dfu buffer from 4MB to just 64K, which was over the top.
The sequence number is a 16 bit counter; make sure we handle rollover correctly. This fixes the wrong transfers for large (> 256MB) images.
Also utilize a variable to handle initialization, so that we don't rely on just the counter sent by the host.
Signed-off-by: Pantelis Antoniou panto@antoniou-consulting.com
To be clear, patches 1-8 are good and we should take, but this one means we can't use FAT/EXT* partitions without more work. I would suggest that we set this part aside for a moment and perhaps limit transfers that are larget than RAM to RAW only where we can write in chunks today.
As fair as I remember, some additional work needs to be done with composite.c file (to remove nasty #ifdefs). There was a problem with newer version of dfu-utils (new handling of descriptors).
I see you and Pantelis talking about if some changes were really needed in composite.c or not, but nothing about dfu-utils. Were you objecting to the composite.c changes because you didn't need them, or because they in turn broke trats (can I get one of these somewhere?) The only other unresolved thing was about board_usb_init() which I think was settled on trats needing to change behavior.