From: Ormund W. <or...@pa...> - 2004-11-20 05:58:28
|
On Fri, 2004-07-02 at 06:55, Fredrik wrote: > We have ported uC/IP to eCos which is a smallish TCP/IP stack developed > in ANSI C for embedded systems. > It supports e.g. PPP and we have been using it successfully for more > than a year. > During this time fixed some really serious bugs and now it seems to work > very well. We have been using PPP/TCP/IP over a GPRS modem (it works > fine in the contries we have tried, e.g. Sweden, UK, even Brazil!). > > If anyone are interested, we would like to contribute the bugfixes and > eCos port. The licence is BSD since the code is based on the BSD stack. > The project is hosted at "http://sourceforge.net/projects/ucip/" but > unfortunately nothing seems to have happend for the last few years. > Maybe its better to contribute the code to the eCos repository? Maybe > the existing BSD-based eCos stacks and the Siemens stack make this stack > superfluous? > > Here follows a simple example of a memory benchmark for the files in > uC/IP for different sections (using arm-elf-gcc 3.4.0) to compare with > other BSD-based stacks perhaps. > (The stack does not allocate any dynamic memory, it handles all memory > allocation internally with static memory, which is a feature.) > > File name text data bss rodata > ------------------------------ ---------- ---------- ---------- ---------- > net_uCIP_InetAddr.o 568 0 0 0 > net_uCIP_devio.o 16 0 0 0 > net_uCIP_net.o 592 22 1293 44 > net_uCIP_netaddrs.o 172 28 0 0 > net_uCIP_netarp.o 2564 4 1680 116 > net_uCIP_netauth.o 2840 2 284 328 > net_uCIP_netbootp.o 0 0 0 0 > net_uCIP_netbuf.o 6012 0 69640 224 > net_uCIP_netchap.o 3340 76 176 420 > net_uCIP_netchat.o 1408 0 4 0 > net_uCIP_netchpms.o 0 0 0 0 > net_uCIP_netconf.o 0 0 0 0 > net_uCIP_netdebug.o 52 0 0 0 > net_uCIP_netdhcp.o 2712 0 0 0 > net_uCIP_neteth.o 552 0 38 24 > net_uCIP_netether.o 692 4 32 0 > net_uCIP_netfsm.o 3296 0 4 0 > net_uCIP_neticmp.o 1656 32 184 96 > net_uCIP_netip.o 2012 0 90 12 > net_uCIP_netipcp.o 5244 120 192 200 > net_uCIP_netlcp.o 9836 188 700 456 > net_uCIP_netmagic.o 8 0 0 0 > net_uCIP_netmd5.o 3636 64 0 0 > net_uCIP_netpap.o 1892 60 48 204 > net_uCIP_netppp.o 5800 44 13412 712 > net_uCIP_netrand.o 316 4 16 0 > net_uCIP_netresolv.o 4492 38 628 156 > net_uCIP_netsock.o 904 2 1408 0 > net_uCIP_netsocka.o 196 0 0 0 > net_uCIP_nettcp.o 15200 178 4392 1052 > net_uCIP_nettimer.o 1304 0 16532 20 > net_uCIP_netudp.o 2656 4 452 128 > net_uCIP_netvj.o 0 0 0 0 > net_uCIP_os.o 1284 0 3012 164 > net_uCIP_trace.o 408 0 0 280 > ------------------------------ ---------- ---------- ---------- ---------- > TOTAL 81660 870 114217 4636 > > (I'm sure the mem size could be reduced. This is _all_ code [not > linked], and also the amount of internal data buffers could be reduced.) > > /Best Regards, > Hi Fredrik Would you consider contributing your code changes back to the uC/IP project? I know there has not been much activity in the last years but it is still regularaly downloaded so many are still finding it useful. I was considering using this stack on the Atmel AVR uControllers with an OS called AvrX and the size of the above modules look very good to me. Regards -- Ormund Williams <or...@pa...> ORMLAB |