This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

uC/IP ported to eCos (PPP/TCP/IP)


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,

Fredrik Hederstierna
WeSpot AB
IDEON Research Park
Lund SWEDEN





--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]