1295 - Lattice Mico System: Does Lattice provide TCP/IP network stack support for the TSMAC and MICO32?
Lattice Mico System: A TCP/IP network stack is not directly included with the TriSpeed MAC IP or Mico32 software. A software-based TCP/IP network stack called lwIP has been used in some Mico32 reference designs. lwIP is a light-weight implementation of the TCP/IP protocol suite that was originally written by Adam Dunkels. It is available as open source from lwIP Home Page.
An implementation of lwIP has been ported to the Mico32 CPU and provides the following network services:
IP (Internet Protocol) including packet forwarding over multiple network interfaces
ICMP (Internet Control Message Protocol) for network maintenance and debugging
UDP (User Datagram Protocol) including experimental UDP-lite extensions
TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit
Specialized raw API for enhanced performance
Optional Berkeley-alike socket API
DHCP (Dynamic Host Configuration Protocol)
PPP (Point-to-Point Protocol)
ARP (Address Resolution Protocol) for Ethernet
lwIP is optimized for small code and data size. It is intended for embedded systems requiring very light-weight, low-overhead TCP/IP connectivity. It may not be suitable for every application. Example implementations of the lwIP TCP/IP stack can be found in the LatticeMico32 Tri-Speed Ethernet MAC Gigabit Demo.