The Synergy NetX Port Ether module (sf_el_nx) for NetX and NetX Duo is integrated into the SSP. Its function is to interface the generic NetX and NetX Duo software with the hardware. This module includes the MAC driver, the PHY driver, and additional glue logic and utility functions.
The Synergy NetX Port Ether module consists of the following logical blocks:
NetX services are implemented as a library, so only code that is needed is added to the project
- For most applications, this results in an instruction image from between 5k bytes and 30k bytes, with IPV6 and ICMPv6 enabled, the size is from 30k bytes to 45k bytes.
NetX supports a variety of RFCs including the following:
- RFC 1112 Host Extensions for IP Multicasting (IGMPv1)
- RFC 1122 Requirements for Internet Hosts - Communication Layers
- RFC 2236 Internet Group Management Protocol, Version 2
- RFC 768 User Datagram Protocol (UDP)
- RFC 791 Internet Protocol (IP)
- RFC 792 Internet Control Message Protocol (ICMP)
- RFC 793 Transmission Control Protocol (TCP)
- RFC 826 Ethernet Address Resolution Protocol (ARP)
- RFC 903 Reverse Address Resolution Protocol (RARP)
- RFC 2460 Internet Protocol v6 (IPv6) Specification (NetX Duo only)
- RFC 4443 Internet Control Message Protocol (ICMPV6) (NetX Duo only)
- RFC 4861 Neighbor Discovery for IPv6 (NetX Duo only)
- RFC 4862 IPv6 Stateless Address Auto Configuration (NetX Duo only)
- Packet-based zero-copy implementation of TCP/IP (buffers are not copied inside NetX as they travel across the stack or from the stack to the user application, freeing up memory and processing cycles for example, significantly improves transmission rates)
- Fast UDP processing
The Synergy NetX Port Ether module guide is targeted for SSP 1.2.0 and above and the SK-S7G2 Kit.
The most recent versions of the NetX Port Ether module guide application note, application project and import guide are available here.
Module Guide Errata
Introduction: First paragraph removed. Should read:
The Synergy NetX Port Ether module (sf_el_nx) for NetX and NetX Duo is integrated into the SSP. Its function is to interface the generic NetX and NetX Duo software with the hardware. This module includes the MAC driver, the PHY driver, additional glue logic and utility functions.
Note: Unless otherwise stated there is no difference is how this module works in NetX or NetX Duo projects.
Section 3.1.1: Edits to Module Operational Notes. Section heading edit, sections added
Dynamic MAC Address Callback
This property defines the user defined callback function which sets MAC address at runtime (network link initialization). The default value is NULL and the MAC address is assigned using the Channel MAC Address High/Low Bits settings.
Unknown Ethernet packet receive Callback
This property configures the callback allowing the user to process unsupported/custom EtherType packets. This call-back can be used in conjugation with the nx_ether_custom_packet_send Ethernet API to send and receive custom Ethernet packet types.
Link status monitoring
This property allows the user to choose the link status monitoring method. There are two options available:
PHY Polling: The PHY polling utilizes an internal monitoring thread for auto negotiation to notify the user when a link is lost or established.
PHY Interrupt (Uses LINKSTA Pin): The PHY Interrupt method requires the PHY status pin to be connected to the LINKSTA pin of the Ethernet controller and utilize the Ethernet interrupt to notify the user when the link is lost or established. This notification uses the callback registered with the IP instance.
Section 4: Section entirely reconstructed. Section should read:
This section describes how to include the NetX Port Ether Module in an application using the SSP configurator.
Note: This section assumes you are familiar with creating a project, adding threads, adding a stack to a thread and configuring a block within the stack. If you are unfamiliar with any of these items, refer to the first few chapters of the SSP User’s Manual to learn how to manage each of these important steps in creating SSP based applications.
The NetX Port Ether Framework is used as a lower level module and is not available to add as a separate stack. An example is illustrated in the following figure where a module must be selected to Add NetX Network Driver. The figures following the below diagram show the selection of the NetX Port Ether Framework to complete the stack for NetX and NetX Duo.
Module Guide Resources
- A variety of NetX and NetX Duo modules use the sf_el_nx module as a network driver. You can find several examples here.
- Refer to the SSP release notes for known issues, available here.