In the middle of 2002, when I (John Toman) was with Compendium Technologies, we announced a port of the lwIP TCP/UDP/IP protocol stack to the Softools C compiler in support of Rabbit 2000 and 3000embedded development kits and core modules. Rabbit microprocessors and boards are offered through Digi these days, who purchased Rabbit Semiconductor.
I was recently asked about my ten year old alpha port, so I've restored this page and made available the zip files once again. Visitors should note that lwIP has moved on, and is on version 1.4 as of this writing in June, 2012.
Updated 04 August 2002: Second alpha build released, including RCM3000 support, working sample HTTP server, DHCP client, some additional API routines, and Rabbit assembly-optimized checksum routines. See the DOWNLOAD section below for the most current version.
Since its introduction in 2001, lwIP has been ported to many embedded processors, operating systems and environments. lwIP is a modern, high-performance, ANSI-C, no buffer copy TCP/IP stack designed to run with minimal memory configurations. lwIP is actively enhanced and libraries that support virtually all common internet protocols are being developed, contributed and maintained. lwIP benefits from the open source process, and as such should ultimately be more stable and reliable than competing stacks due to a wide user base.
Specific advantages of lwIP over the stack included with Dynamic C in the Rabbit Semiconductor development kits are:
Note that at in late 2002, when this port was active, in terms of protocol support, the Dynamic C stack was more complete.
This is a quick to do status list for the lwIP port as of August, 2002. These items were never completed by myself; they may have been completed by others. lwIP has moved on Please note that lwIP is under active development, as is this port of lwIP. This represents some of the features that are being worked on. Note that this list is not in any particular order.
Please note that John Toman is not paid to port or support this software. The author can't guarantee when problems encountered will be dealt with, or whether they will be dealt with. Code contributions and bug fixes are welcome; see the support section below.
DOWNLOAD LWIP PORT
Currently the lwIP port is considered alpha quality, with many features to be added and some bugs fixes to be done. The port consists of zip file containing the full source, built net2000.lib library, TCP and UDP examples and header files.
By downloading the lwIP software for the Rabbit processors, you agree to the following terms:
Softools/Compendium Technologies lwIP Rabbit 2000/3000 port agreement:
Copyright (c) 2001, Swedish Institute of Computer Science.
Portions Copyright (c) 2002 Compendium Technologies, Inc. and Softools, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Any portions of this code copyrighted by Compendium Technologies, Inc. or by Softools, Inc. may not be used with any other compiler other than the Softools compiler, without the permission of Compendium Technologies, Inc. and Softools, Inc.
lwIP for Softools builds available:
Documentation for the networking APIs in lwIP is at the main lwIP site here.
In addition, Compendium has added an executive layer (the
ethernetStop and related functions).
These calls will be documented soon. The example programs are currently the
best source of information for using the network executive.
This code is unsupported; developed ceased on it about ten years ago. I do not have a currently working setup. If you use it, however, I'd like to know.
You may email John directly with bug reports, patches, fixes, success stories, etc.