On Tue, May 28, 2013 at 07:55:03AM +0200, Wolfgang Denk wrote: > Dear Heiko, > > In message <51a427a8.8090...@denx.de> you wrote: > > > > > Where exactly is this 8 MB limit coming into play? > > > > You find this in drivers/dfu/dfu.c: > > > > static unsigned char __aligned(CONFIG_SYS_CACHELINE_SIZE) > > dfu_buf[DFU_DATA_BUF_SIZE]; > > Ah, so it is a DFU restriction! [snip] > > drivers/dfu/dfu_mmc.c use (another?, why?) buffer: > > > > static unsigned char __aligned(CONFIG_SYS_CACHELINE_SIZE) > > dfu_file_buf[CONFIG_SYS_DFU_MAX_FILE_SIZE]; > ... > > and use this buffer for not raw partitions ... and this buffer > > gets flushed, only if the complete file is transfered, as the > > README states: > > > > CONFIG_SYS_DFU_MAX_FILE_SIZE > > When updating files rather than the raw storage device, > > we use a static buffer to copy the file into and then write > > the buffer once we've been given the whole file. Define > > this to the maximum filesize (in bytes) for the buffer. > > Default is 4 MiB if undefined. > > This makes very little sense to me. Why do we need another (and even > smaller) buffer when we already have one?
Per my other email, the intention and implementation didn't quite match-up. The intent of the README should be (but isn't) reflected) in the code. And perhaps we can come up with something better than a big static allocation. Perhaps. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot