agfa prayoga s wrote:
Hi all,,,
did lwIP 1.3.0 port that Simon's patched for eCos 3.0 has improvement in
memory footprint?
i am trying to run httpd example under lwip package on AT91SAM7X-EK board
filled with AT91SAM7X256. that microcontroller only have 256KB ROM and
64KB RAM.
i have compiled the example successfully only with PBUF value 10, disable DHCP,
SLIP, PPP, raw socket support, IP forwarding.
using arm-eabi-size, httpd binary has size:
.text : 82740
.data: 5428
.bss: 50792
notice that the sum of .data and .bss is almost 56KB, near 64KB.
if i increase the PBUF value over 10(default value is 60), compilation process
will failed with error that
is no longer room in .bss because the limitation in 64KB.
maybe this is out of topic, but i appreciate your assistance...
Well that's hard to say. You would need to ask that question on the lwip
list. I don't know if there are major differences in memory consumption
between lwip 1.1.0 and 1.3.1. One advantage of my port is that it can be
run in a completely polled mode (I call it simple mode), so you can run
all your network code in a single thread, instead of multiple threads
(at least 3). The old port did not directly offer that option. This can
spare you quite a bit of memory (stacks). Notice that when using the
simple mode, you will have to use the raw APIs (see httpd_simple
example) and cannot use the netconn and socket APIs. In my project, I
use the polled mode for the exact same reason (memory) with good results.
Simon
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss