sending binary files to a 16 micro controller.
Tom Anderson
twic at urchin.earth.li
Mon Aug 22 18:25:26 EDT 2005
On Mon, 22 Aug 2005, Grant Edwards wrote:
> On 2005-08-22, Magnus Lycka <lycka at carmen.se> wrote:
>
>>> Hi, I'm working on a project were a need to be able to upload firmware
>>> to a microcontroller based Ethernet device. But because of the memory
>>> constraints the controller can only handle packages of 300 bytes each
>>> time. So therefore the firmware file must be sent in chunks
>
> It's very probable that the TCP stack will combine chunks and
> send out full Ethernet frames (4K bytes).
Those are *very* full ethernet frames!
It seems to me that if the receiver can only handle a certain amount of
data at a time, this should be reflected in its receive window; it should
never advertise a bigger window than it can handle. if that's the case,
the program should be able to write data as fast as it likes, as the
sending TCP module will throttle it down so it goes out in right-sized
drips. I'm not a TCP expert, though.
Anyway, if you are going the small-writes route, make sure you set the
TCP_NODELAY flag, to turn of Nagleing on the connection. I'm not sure if
anyone mentioned that already.
tom
--
sh(1) was the first MOO
More information about the Python-list
mailing list