Free (GPLv2) TCP/IP stack developed by TASS Belgium

Dependents:   lpc1768-picotcp-demo ZeroMQ_PicoTCP_Publisher_demo TCPSocket_HelloWorld_PicoTCP Pico_TCP_UDP_Test ... more

PicoTCP. Copyright (c) 2013 TASS Belgium NV.

Released under the GNU General Public License, version 2.

Different licensing models may exist, at the sole discretion of the Copyright holders.

Official homepage: http://www.picotcp.com

Bug tracker: https://github.com/tass-belgium/picotcp/issues

Development steps:

  • initial integration with mbed RTOS
  • generic mbed Ethernet driver
  • high performance NXP LPC1768 specific Ethernet driver
  • Multi-threading support for mbed RTOS
  • Berkeley sockets and integration with the New Socket API
  • Fork of the apps running on top of the New Socket API
  • Scheduling optimizations
  • Debugging/benchmarking/testing

Demo application (measuring TCP sender performance):

Import programlpc1768-picotcp-demo

A PicoTCP demo app testing the ethernet throughput on the lpc1768 mbed board.

include/pico_config.h

Committer:
tass picotcp@tass.be
Date:
2014-04-09
Revision:
149:5f4cb161cec3
Parent:
129:dbf9eddc9109
Child:
152:a3d286bf94e5

File content as of revision 149:5f4cb161cec3:

/*********************************************************************
PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved.
See LICENSE and COPYING for usage.

*********************************************************************/
#ifndef INCLUDE_PICO_CONFIG
#define INCLUDE_PICO_CONFIG
#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#ifdef __IAR_SYSTEMS_ICC__
#   define PACKED_STRUCT_DEF __packed struct
#else
#   define PACKED_STRUCT_DEF struct __attribute__((packed))
#endif

#include "pico_constants.h"

#define IGNORE_PARAMETER(x) (void)x
#define MBED

#define PICO_SUPPORT_ETH
#define PICO_SUPPORT_CRC
#define PICO_SUPPORT_DEVLOOP
#define PICO_SUPPORT_DHCPC
#define PICO_SUPPORT_DHCPD
#define PICO_SUPPORT_DNS_CLIENT
#define PICO_SUPPORT_ICMP4
#define PICO_SUPPORT_PING
#define PICO_SUPPORT_IGMP
#define PICO_SUPPORT_IPFILTER
#define PICO_SUPPORT_IPFRAG
#define PICO_SUPPORT_IPV4
#define PICO_SUPPORT_MCAST
#define PICO_SUPPORT_NAT
#define PICO_SUPPORT_TCP
#define PICO_SUPPORT_UDP
#define PICO_SUPPORT_SLAACV4

# include "arch/pico_mbed.h"

#ifdef PICO_SUPPORT_MM
#define PICO_ZALLOC(x) pico_mem_zalloc(x)
#define PICO_FREE(x) pico_mem_free(x)
#else
#define PICO_ZALLOC(x) pico_zalloc(x)
#define PICO_FREE(x) pico_free(x)
#endif  /* PICO_SUPPORT_MM */

#endif  /* INCLUDE_PICO_CONFIG */