CycloneTCP est un dual IPv4/IPv6 stack deédié aux applications embarquées. CycloneTCP respecte le standard RFC et offre une interopérabilité avec les systèmes existans à base de TCP/IP, de sécurité TLS/DTLS (avec le support des derniers standards TLS 1.3 et DTLS 1.2) ou encore SSH v2.0 (Secure Shell). En supportant IPv6, CycloneTCP facilite le déploiement de l’internet des générations suivantes. Le stack est disponible en ANSI C, avec une double licence d’exploitation (licence open source GPLv2 ou licence commerciale), ce modèle permet la réalisation de preuves de concept évoluées en code source à 100%, avant de partir en phase de développement et d’industrialisation avec une licence commerciale.
La licence d’essai est proposée pour 90 jours incluant le support technique, afin de faciliter l’évaluation du stack CycloneTCP.
Fonctionnalités principales
- Dual stack (IPv4 and/or IPv6)
- Built-in support for multiple network interfaces
- Flexible memory footprint (built-time configuration to embed only the necessary features)
- Configurable memory model (static memory pool or heap memory allocation)
- Portable architecture (no processor dependencies)
- Straightforward port to any RTOS
- Highly maintainable source code
- Debugging and trace functionality to ease development and integration
- BSD style socket API
- Blocking/non-blocking socket operation and event-driven functions (select and poll)
- Efficient data transfer through zero copy
- Well-crafted TCP module with selective acknowledgement (SACK) and congestion control
- Raw socket interface
- IP fragmentation and reassembly support
- Support for virtual interfaces (multiple MAC addresses per physical interface)
- Support for multi-homed hosts (multiple IPv4 addresses per interface)
- Ethernet port multiplication using VLAN tagging (SMSC switches) or tail tagging (Micrel switches)
- VLAN support (802.1q and 802.1ad)
- USB Device RNDIS class driver (for STM32 microcontrollers)
Protocoles supportés
- DNS client
- NetBIOS client and responder
- LLMNR client and responder
- mDNS client and responder
- DNS-SD responder (DNS-based service discovery)
- DHCP client and server
- Auto-IP (dynamic configuration of IPv4 link-local addresses)
- DHCPv6 client and relay agent
- SLAAC (IPv6 stateless address autoconfiguration)
- Multicast support (IGMPv2 and MLDv1)
- FTP / FTPS client and server (implicit TLS and explicit TLS modes supported)
- HTTP / HTTPS client
- HTTP / HTTPS server with SSI, CGI scripting and WebSocket support
- HTTP/2 client (including HPACK compression, server push and https scheme)
- MQTT v3.1.1 client (TCP, TLS, WebSocket and secure WebSocket transport layers supported)
- MQTT-SN client (UDP and DTLS transport layers supported)
- CoAP client and server (DTLS-secured CoAP, Observe and Block-Wise Transfers supported)
- SMTP client
- SNTP client (network time synchronization)
- SNMP agent (SNMPv1, SNMPv2c and SNMPv3 supported)
- Remote management of SNMP users and access rights (SNMP-USM-MIB and SNMP-VACM-MIB)
- Standard MIBs: MIB-II, IF-MIB, IP-MIB, TCP-MIB, UDP-MIB, SNMPv2-MIB
- TFTP client and server
- Modbus/TCP client and server (Modbus/TCP security supported)
- WebSocket client and server (WebSocket connections tunneled over SSL/TLS supported)
- PPP (Point-to-Point Protocol)
Drivers supportés
CycloneTCP supports industry-standard microcontrollers with built-in MAC, standalone Ethernet controllers, PHYs, Switches, as well as Wi-Fi modules and Cellular Modems.
Microcontrôleurs supportés
- Infineon TriCore AURIX
- ARM Cortex-M3
- ARM Cortex-M4
- ARM Cortex-M7
- ARM Cortex-R4
- ARM Cortex-A5
- ARM Cortex-A8
- ARM Cortex-A9
- Legacy ARM7TDMI / ARM926EJ-S
- RISC-V
- MIPS M4K
- MIPS microAptiv
- PowerPC e200
- Coldfire V2
- RX600
- AVR32
- Xtensa LX6
OS supportés
- Amazon FreeRTOS
- ChibiOS/RT
- CMSIS-RTOS
- CMSIS-RTOS2 (RTXv5 and FreeRTOS)
- Keil RTX
- Micrium µC/OS-II and µC/OS-III
- Microsoft Azure RTOS (ThreadX)
- Segger embOS
- SYS/BIOS (TI-RTOS)
- Bare Metal programming (without RTOS)
Environnements de développement supportés
- TASKING VX-Compiler
- GNU GCC / Makefile
- AC6 System Workbench for STM32 (SW4STM32)
- HighTec Toolset for TriCore
- IAR Embedded Workbench
- Infineon DAVE
- Keil MDK-ARM
- Microchip Studio (Atmel Studio) & MPLAB X
- Microsoft Visual Studio
- NXP MCUXpresso
- Renesas e2Studio
- Segger Embedded Studio
- ST STM32CubeIDE & TrueSTUDIO
- TI Code Composer Studio (CSS)
#stack TCP IP
#embedded