Embedded TCP/IP Software

 

MISRA Compliant TCP/IP Protocol Stack

The key to a successful software application is to use high-quality software with verifiable development that ensures a stable, low-risk development environment. HCC’s TCP/IP stack was developed with a no compromise approach to quality using a strongly typed subset of the ‘C’ language. The approach incorporates a strong adherence to MISRA1 compliance and was validated using advanced verification tools. With the benefit of more than a decade’s experience developing efficient, high-quality software the stack brings new levels of performance, verifiable quality and reliability to the embedded networking market. HCC networking stack provides a significant range of protocols as well as support for both IPv4 and IPv6, providing flexibility and long-term network compatibility.

The following protocols are available for HCC’s MISRA-compliant TCP/IP Stack

  • TCP
  • IPv4 / IPv6
  • UDP
  • ARP
  • ICMP
  • DNS client
  • DHCP
  • IGMP
  • HTTP server
  • FTP server
  • TFTP server
  • SMTP
  • PPP
  • Routing
Small Footprint, High Throughput, Low CPU Cycle Operation

An innovative approach to design has resulted in an extremely high-speed data transfer rate, with minimal system resource requirements. Tests have shown that packet processing runs up to four times faster than comparable embedded stacks, while using around 14kB of ROM, in a typical application scenario2. RAM requirements can vary widely depending on application needs but are typically as low as 12kB. It is possible, with a minimum configuration UDP application, to use less than 5kB of ROM and a few hundred bytes of RAM (plus network buffers).

  • No dynamic memory allocation (no malloc/free)
  • Standard BSD sockets interface
  • Zero copy
  • Small footprint (RAM/ROM)
  • High speed data transfer
  • Low power consumption due to low CPU overhead
  • Verified compatibility with most popular embedded RTOSes
  • Efficient operation without an RTOS
  • Supports multiple network interfaces

Embedded TCP/IP Datasheet 

 
MISRA Compliant TLS/SSL

HCC’s TLS/SSL is a highly optimized software module designed to provide secure network communications for embedded devices. The software is developed using a rigorous adherence to MISRA C:2004 and is available with a full MISRA compliance report. The importance of using a strong development process and source code control has been emphasized by a number of high-profile security problems caused by source code errors. Network security requires a high degree of quality and traditional methods of ‘freestyle coding’ and test do not provide sufficient guarantees of correctness. 

Key Features

  • SSL3.0, TLS1.0/1.1/1.2 
  • Full certificate management
  • All mandatory cipher suites supported including AES, DES, DSS, EDH, MD5, RSA, SHA

Low Footprint, High Performance: HCC’s SSL/TLS implementation can be used as Client or Host and is designed especially for microcontrollers, ensuring a low memory footprint, typically around 20kB ROM / 8kB RAM. Typically it uses a standard sockets interface and will bring ease of integration to many embedded applications. HTTP or FTP Server support is provided for HTTPS and FTPS implementations or connection to any other secure client or server application. 

All algorithms are implemented as individual libraries and, where possible, use crypto hardware support provided on specific microcontrollers

UML Model: In addition to a full MISRA compliance report, HCC’s TLS/SSL is available with a full UML description that can be licensed as a separate component.  HCC is committed to ensuring the quality of software can be verified and used in any high quality development environment

Target Support: HCC’s TLS/SSL is the perfect complement to HCC’s MISRA compliant TCP/IP stack. The stack is extensively used on a wide range of embedded platforms including most ARM Cortex based MCU’s. All projects are delivered as fully documented source code and can be optimized for performance and low footprint.

 
MISRA Compliance and Software Verification

HCC Embedded’s TCP/IP stack is fully compliant with MISRA-C:2004. First introduced by the automotive industry, MISRA has become a ‘best-practice’ coding standard, widely used in the medical, industrial, telecom and aerospace industries. HCC has developed its own rigorous coding standard conforming to MISRA to create a concise, strongly typed subset of the C language for use in embedded communications systems. The result is clean, clear and robust code without ambiguities. It is appropriate for use on the most critical embedded applications. Full compliance documentation, developed using the LDRA Tool Suite, is supplied to help integrate with existing development processes and to confirm that the highest standards of compliance have been met.

 
Advanced Middleware Integration

HHCC’s unique position as a middleware developer means that we can offer tight integration of file systems, serial and Ethernet interfaces to support communications between different protocols. Connecting different devices to a PC used to involve many hardware interfaces and protocols e.g. Ethernet ports, serial ports, ATA/IDE interfaces, audio ports, and video adapters. HCC USB provides the capability to share a single high-speed bus between many peripheral types - connecting TCP/IP networks over USB interfaces either as local or remote network adapters. To achieve this HCC supplies the following Control Device Class Drivers

RNDIS: ‘Remote Network Driver Interface Standard’; virtual Ethernet link

CDC-ACM: ‘Abstract Control Module’; serial interface for devices such as modems

CDC-EEM: ‘Ethernet Emulation Module’; send and receive Ethernet frames over USB

CDC-ECM: ‘Ethernet Control Module’; present USB device to the system as a Network Adaptor