Compendium Technologies, Inc. Site Guide
Compendium Technologies announces 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.

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 new version.

FEATURES

  • RCM2100 Core Module Supported core modules and boards:
    • Rabbit Semiconductor TCP/IP Development Kit
    • Rabbit Semiconductor RCM2100 series (pictured)
    • Rabbit Semiconductor RCM2200 series
    • Rabbit Semiconductor RCM3000 series
  • Supported protocols:
    • TCP
    • UDP
    • IPv4
    • ARP
    • ICMP
    • DHCP
    • IPv6 (coming soon)
    • DNS (coming soon)
    • HTTP (coming soon)
    • SMTP (coming soon)
    • FTP (coming soon)
    • POP3 (coming soon)
  • Small memory footprint
    • Code footprint less than 52k (all far code)
    • Configurable memory footprint from 4k up
  • Three APIs for maximum performance or programming ease
  • Open source

WHY SHOULD I USE LWIP?

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:

  • No specially sized stack is required
  • Three APIs:
    • High performance callback API (called the "raw" API)
    • No copy blocking API (netconn)
    • BSD-like socket API
  • Configurable memory footprint (currently through a header file, programmatic interface being developed)
  • Support for IPV6 (in lwIP currently but not in the port yet)
Note that at this point in time, however, in terms of protocol support, the Dynamic C stack is more complete.

TO DO

This is a quick to do status list for the lwIP port as of August, 2002. 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.

  • Make RAM parameters configurable
  • Support far memory RAM buffers
  • Develop generalized HTTP server
  • SMTP email protocol development
  • DNS client protocol development
  • POP3 email client protocol development
  • HTTP client library
  • lwIP PPP client (from lwIP community)
  • FTP server (fromt lwIP community)
  • Compile and test IPV6 version
  • Dynamic C compatibility API
  • Bug fixes

Please note that Compendium 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:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

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 build available:

DOCUMENTATION

Documentation for the networking APIs in lwIP is at the main lwIP site here.

In addition, Compendium has added an executive layer (the netConfigure, netRecognize, ethernetStart, 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.

SUPPORT

Please report all bugs and problems! The author, John Toman, will make an effort to fix bugs and problems as they occur and issue new releases. The timeliness of bug fixes and enhancements can't be guaranteed. Please note once again that the author is not paid for this work. If you need the author's time to address specific issues, drivers for other boards, or something else you need now, consider hiring him to support you. Remember that, unless the changes you need are very specific to your application, Compendium and the the author reserve the right to distribute to others (free of charge only) any modifications made to the lwIP port.

You may use the Softools Email Support Group for help or email John directly with bug reports, patches, fixes, success stories, etc.

Subscribe to softools support group
Powered by groups.yahoo.com
About Us
Services
Coming Soon
News Archive & Press Releases
jobs@compendium-tech.com
Compendium Employees Only
Compendium Site Guide
 © 2002 Compendium Technologies, Inc.