Microchip MPLAB® Harmony 3 Release Notes

May 5, 2026 · View on GitHub

Net Release v3.14.6 (May, 2026)

ADDITIONS AND UPDATES FOR v3.14.6:

  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.6 release:

      ModuleDescription
      VSC8541 PHYEnabled support for VSC8541 PHY driver
      Multiple ModulesFixed the MISRA C Violations
      TELNETAdded missing #include directive
      KSZ8863 PHYFixed a PHY symbol's name-case being incorrect in initialization.c
      MAC driversAdded extra parameter to the MAC retrieve function

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Net Release v3.14.5 (January, 2026)

ADDITIONS AND UPDATES FOR v3.14.5:

  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.5 release:

      ModuleDescription
      SNMP/SNMPv3Fixed the multiple SNMP MIBs support
      Fixed the bug in SNMP state machine flow
      Fixed the issue of SNMPv3 'Get' and 'Get Next' not working
      Fixed the issue of 'Trap' not getting generated
      Fixed the issue of 'SNMPv3 Only' Not Working
      ETHMACFixed missing synchronization calls to the ETH MAC driver
      TCPFixed code for persistent server socket remote binding
      GMACFixed missing GMAC driver GBit register setting in PIC32CK
      Presentation LayerMade net_pres default log setting as 'not verbose'
      DHCP ServerFixed INIT_REBOOT/RENEWING states detection for DHCPREQUEST received while BOUND
      Fixed/improved the behavior for DHCPREQUEST received with no previous lease info
      Multiple ModulesFixed the MISRA C Violations
      Updated the MISRA C 2012 deviation records to 2023

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Net Release v3.14.4 (October, 2025)

ADDITIONS AND UPDATES FOR v3.14.4:

  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.4 release:

      ModuleDescription
      SNMPFixed the SNMP generation errors and state machine flow
      PHY driverUpdated LAN9303, LAN9354 and KSZ8853 driver code for proper detection of the link
      readme.mdAdded missing entries for SAM9X7, SAMA7G5, PIC32CX SG41 and PIC32CK SG_GC net apps repos

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Microchip MPLAB® Harmony 3 Release Notes

Net Release v3.14.3 (August, 2025)

ADDITIONS AND UPDATES FOR v3.14.3:

  • New Features

    • Addition of VLAN support - beta
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.3 release:

      ModuleDescription
      MAC driversProvided configuration support for multi-client
      GMAC driverFix for the PIC32CZ GMAC driver name
      GMAC driverPHY configuration fix for PIC32CK_SG/GC
      EMAC driverFix for the EMAC driver descriptor pool clear
      WS ClientFix for minimum payload length for medium frames
      TCP/IP stackProvided initial/beta VLAN support

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Net Release v3.14.2 (July, 2025)

ADDITIONS AND UPDATES FOR v3.14.2:

  • New Features

    • None
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.2 release:

      ModuleDescription
      MCC scriptsUpdates for the LAN865x module

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • Some MISRA C required violations are still reported by the Coverity analysis tool.
    • The issues are not in the stack modules.
    • They will be fixed in a future release.

Net Release v3.14.1 (June, 2025)

ADDITIONS AND UPDATES FOR v3.14.1:

  • New Features

    • None
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.1 release:

      ModuleDescription
      GMACAdded missing include of tcpip_mac_object.h
      GMACFix for SingleListTailAdd wrong cast
      GMACFix GMAC lockup under heavy traffic
      TFTPcFix for the TFTPIsPutReady function
      ENCx24J600Fix for the DRV_SPI_TRANSFER_SETUP call
      FTPcFix for usage of ctrlTxBuff size
      PHY driversUpdated RMII configuration for PIC32M platforms
      WSCBasic authentication support has been updated
      All modulesMISRA C violations fixes
      All modulesFixes for xc32 v5.0 reported issues

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • Some MISRA C required violations are still reported by the Coverity analysis tool.
    • The issues are not in the stack modules.
    • They will be fixed in a future release.

Net Release v3.14.0 (April, 2025)

ADDITIONS AND UPDATES FOR v3.14.0:

  • New Features

    • Addition of net support for PIC32CX-BZ6 and PIC32WM-BZ6 family of devices
    • Addition of WebSocket Client module - beta
    • TCP, UDP IPv4 and IPv6 added priority queue support
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.14.0 release:

      ModuleDescription
      MCC, driversSupport for PIC32CX-BZ6 and PIC32WM-BZ6 family of devices
      WebSocket ClientNew TCP/IP module to support the WebSocket client communication - beta
      SNTPBug fix for skipping the INIT state when restarting the network interface
      IPv6, UDP, TCPAdded DSCP option for MAC TX priority queues
      IPv4, UDP, TCPAdded TOS option for MAC TX priority queues
      HTTP, SMTP, LLDPThese obsolete modules have been removed
      allMajor rework to fix MISRA C required violations

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • Some MISRA C required violations are still reported by the Coverity analysis tool.
    • The issues are not in the stack modules.
    • They will be fixed in a future release.

Net Release v3.13.0 (December, 2024)

ADDITIONS AND UPDATES FOR v3.13.0:

  • New Features

    • Addition of net support for PIC32CZ CA7 family of devices
    • PIC32CX-BZ6 and WBZ653 family of devices net support
    • Added Random Interface Identifier generation for IPv6
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • Updated net support for PIC32CZ CA8 & CA9 family of devices

    • The following table provides the list of improvements and bug fixes in the v3.13.0 release:

      ModuleDescription
      Ethernet PHYFixed the PHY interface mode selection on PIC32CZ CA8 & CA9 devices
      SMTP ClientFixed the syntax error in the SMTP message sender address

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • None

Net Release v3.13.0-E1 (November, 2024)

ADDITIONS AND UPDATES FOR v3.13.0-E1:

  • New Features

    • This engineering release contains:
      • Added GMAC driver support PIC32CX-BZ6 and WBZ653 family of devices
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.13.0-E1 release:

      ModuleDescription
      TCPFix for Restoring the fast transmission on duplicate acknowledgments
      TCPIP_HelpersUpdates for generic list manipulation
      Updated the IPv4 and IPv6 string conversion routines
      IPv6 & NDPFix for open socket to an invalid destination uses a discarded NDP entry
      LAN8720 & LAN8740 PHYUpdated 'RMII Data Interface' as default PHY connection flag for 'ETH'
      DNSUpdates for DNS IPv6 support
      PluginImprovements on drag and drop of component & loading of dependency from component

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • None

Net Release v3.12.3 (October, 2024)

ADDITIONS AND UPDATES FOR v3.12.3:

  • New Features

    • None
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.12.3 release:

      ModuleDescription
      LAN8840 PHYImproved the board-specific skew settings implementation for LAN8840 PHY driver
      IPv6Fixed the IPv6 fragmentation assembly issue
      GMACFixed the transmit failure issue when GMAC Priority Queue is enabled
      Fixed the exception when Priority Queues are enabled
      UDPFix for socket remote bind last used address
      PluginMigrated to react version of Net Manager(TCP/IP Configurator)

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • None

Net Release v3.12.2 (August, 2024)

ADDITIONS AND UPDATES FOR v3.12.2:

  • New Features

    • None
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.12.2 release:

      ModuleDescription
      LAN8840 PHYBoard-specific skew settings implementation for LAN8840 PHY driver
      UDPUpdated the UDP socket Rx and Tx limits
      GMACIncreased GMAC DMA burst size for SAM9X7 GMAC driver to Max
      DocumentationUpdated the 'Network Metrics' page

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • IPv6 fragment assembly fails, issue is under investigation.

Net Release v3.12.1 (July, 2024)

ADDITIONS AND UPDATES FOR v3.12.1:

  • New Features

    • None
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Improvements and Bug Fixes

    • The following table provides the list of improvements and bug fixes in the v3.12.1 release:

      ModuleDescription
      GMACFixed the GMAC reference clock selection not working on SAM9X75
      Fixed the Missing GMAC interrupts in TCP/IP Configurator->Configuration Summary for SAMA7D6
      Fixed the SAM9X7 and SAMA7D6 MAC priority Queue support
      SNMPv3SNMPv3 USM command updated
      MCCReferencing to components' online help from MCC is implemented
      DocumentationUpdated the documentation and added the missing sections

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • None

Net Release v3.12.0 (June, 2024)

ADDITIONS AND UPDATES FOR 3.12.0:

  • New features

    • The release provides the following new features:
      • GMAC driver support for SAMA7D6.
      • PHY driver support for LAN8840.
  • Applications

    • MPLAB® Harmony 3 provides Net library application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are available in the product family specific repository.
  • Bug Fixes

    • The following table provides the list of fixes in the 3.12.0 release:

      ModuleDescription
      DHCPSLowered the Minimum DHCP Discovery valid packet size
      TCPIP CommandsFixed MISRA C violations

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

  • None.

Net Release v3.11.1 (April, 2024)

ADDITIONS AND UPDATES FOR 3.11.1:

  • New features

    • The release provides various bug fixes.
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of fixes in the 3.11.1 release:

ModuleDescription
ENCX24J600 driverFix for ENC transmit of TCP buffers
GMAC driverFixed the unstable behaviour after a link loss
Fixed the GMAC Descriptor start Address for devices with smaller internal RAM
ETHMAC driverBug fix for the ETHMAC
TCPIP_HelperFixed 'M0 Devices need particular handling on TCPIP_Helper_Memcpy'
PHY driverSupport the PHY dummy driver
Fixed the DRV_ETHPHY_CFG_DEFAULT flag
Implemented Customer Feedback - PHY pins 'RESET' and 'IRQ' pin usage indication
TCPFixed the issue when 'Disabling crypto TCP dependency'
DHCPExtended DHCP event for offer with improved event info
ARPFixed the command for insertion of permanent entries in the ARP cache

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.11.0 (December, 2023)

ADDITIONS AND UPDATES FOR 3.11.0:

  • New features

    • The release provides various bug fixes.
    • Improvements of the iperf throughput on GMAC SAM devices - GMAC checksum offload support.
    • The release adds the serial PPP MAC driver.
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of fixes in the 3.11.0 release:

ModuleDescription
GMAC driverAdded support for MAC RX/TX Checksum offload feature
iperf throughput improvement
RGMII/GMII 10/100 Support - for 9x7, A7G5, PIC32CZ_CA platforms
Fixed issue with critical section access
Fixed invalid use of FreeRTOS APIs in GMAC code
MAC driverAdded the serial link PPP support as a virtual MAC
MIIM driverCorrections for the usage of the MIIM driver
PHY driverETHPHY Driver function to write to ETHPHY registers and wait for the completion
Corrected symbol DRV_ETHPHY_OBJECT_BASE_lan9303 case
Updates for 1000 Mbps support
BSD moduleFixes for the bind operation
MCCMCC Net plugin various fixes
Added support for Wi-Fi modules part numbers

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.10.1 (August, 2023)

ADDITIONS AND UPDATES FOR 3.10.1:

  • New features

    • The release provides various bug fixes
    • The release provides some additions for G3-PLC support
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of fixes in the 3.10.1 release:

ModuleDescription
MIIM driverCorrections for the usage of the MIIM driver
Updated the MIIM and PHY driver to work without the Harmony TCP/IP stack
GMAC driveriperf throughput improvement
DHCPv6 serverFixed the purging of the Tx message list
Added debug mask for notification event
UDPFixed the UDP socket matching to use the correct type of the destination address
IPv6Added G3 ADP MAC interface
Added G3-PLC support

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.10.0 (July, 2023)

ADDITIONS AND UPDATES FOR 3.10.0:

  • New features

    • The release adds support for PIC32CX_SG41.
    • The release adds new PHY support: LAN9354 and LAN8770
    • The release updates the MCC Net plugin.
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of new features and fixes in the 3.10.0 release:

ModuleDescription
MCC net pluginSupport for the PIC32CX_SG41, PIC32CK_GC configuration has been added
Configured heap size is set to blank when heap type is other than external.
Available components and active components are sorted in alphabetical order in Layers, Overview and configuration Summary
MIIM driverProvided extended operation support
Solved MIIM build issue for PIC32CZ_CA demos
PHY driverAdd LAN9354, LAN8770 support
Removed obsolete SMSC naming from the PHY files
GMAC driverAdd drivers for PIC32CK_GC, PIC32CX_SG41 GMAC
DHCP serverAllowed serving of errors and client events simultaneously
ManagerMAC check link frequency has been added as a parameter
APIs for modules de-initialization and running status have been added to the stack manager
TCPFixed application lock-up when remote window == 0 and there's data to be sent
Added re-transmission timers for the unacknowledged data to the TCP state machine
HTTPBeta support for HTTP server to support multiple instances with multiple ports and access/redirection rules
IPv6ICMPv6 template is corrected when ICMPV6 console command is not enabled
IPv4Fixed the calculation of leading ones/trailing zeroes in the forwarding table

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.9.2 (May, 2023)

ADDITIONS AND UPDATES FOR 3.9.2:

  • New features

    • This release updates the documentation by adding the 'Create your first TCP/IP Application' topic.
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of new features in the 3.9.2 release:

ModuleDescription
DocumentationUpdated the documentation and added the 'Create your first TCP/IP Application'

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.9.1 (March, 2023)

ADDITIONS AND UPDATES FOR 3.9.1:

  • New features

    • This release adds support for the LAN865x 10BASE-T1S. It also updates the usage of the 9X70 registers.
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of new features and bug fixes in the 3.9.1 release:

ModuleDescription
MAC DriverUpdated the Ack function return type
PHY DriverAdded support for the VSC8540 Ethernet PHY
ManagerAdded global second and millisecond time keeping to the stack
MAC DriverAdded LAN865x 10BASE-T1S MAC-PHY Support
MAC DriverRemoved bit MIIONRGMII from SAM9X7 GMAC Driver
Net PresAdded Support for "More Client Certificates" in the NetPres MCC component
Net PresAdded API for setting client certificate at run time
MAC DriverFixed incorrect cache management in the V7x GMAC driver
All modulesUpdated net repo license and the file disclaimer

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.9.0 (December, 2022)

ADDITIONS AND UPDATES FOR 3.9.0:

  • New features

    • This release adds Beta support for the PIC32CZ_CA family of devices
  • Applications

    • MPLAB Harmony provides large number of application examples to accelerate learning and reduce the development cycles for your embedded systems with reusable software components. The applications examples are moved to the product family specific repository.
  • New Features and Bug Fixes

The following table provides the list of new features and bug fixes in the 3.9.0 release:

ModuleDescription
ManagerTCP/IP stack option to start only the modules presented in the initialization data
PHY DriverAdded LAN8742A and KSZ9031 support files
MAC DriverUpdates to the EMAC, ETHMAC and GMAC drivers
UDPAdded fixed destination address/port for the socket
UDPAdded socket sticky options
IPv4Updates for IPv4 checking the TX packet result
ManagerAdded global assert/condition functions that could be used by all modules
ManagerWhen the heap delete operation fails - at stack deinit - and the DRAM debugging is enabled, display the offending module
ManagerThe heap debug now stores the number of allocation/free operations
ManagerAdded checking of the running services for the AddressServiceSelect functionality
DHCPv6Added DHCPv6 Enable/Disable API
DHCPv6Fix for DHCPv6 confirm/not-on-link reply
DHCPv6Updated the reply processing to separately check for the transaction ID
DHCPv6Various other fixes
iperfUpdated the iperfs command to display the RX/TX buffer size
HTTP_NETAdded the listening port to the http info command

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

KNOWN ISSUES

Net Release v3.8.0 (July, 2022)

ADDITIONS AND UPDATES FOR 3.8.0:

  • New features

The following table provides the list of the new features included in the 3.8.0 release:

  • All applications have been migrated from MHC to MCC
  • Migration of select applications to the Net Plugin (beta)
    • tcpip_tcp_server net plugin application
    • berkeley_udp_client net plugin application
    • web_net_server_sdcard_fatfs net plugin application
  • Added configuration help for all modules and drivers
ModuleDescription
DHCP Server V2A new implementation of the DCP server. Improved functionality over multiple interfaces and configuration. Beta release
HTTP NETUpdated the HTTP de-register call to abort the existing connections
MQTTUpdated the default broker to test.mosquitto.org
IPv4Added IPv4 Forwarding Statistics to MHC/MCC
  • New Applications

The following table provides the list of the new applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
tcpip_tcp_server_bridgePIC32MZMPLABX Layer 2 bridge application for PIC32MZ platform
tcpip_tcp_server_ipv4_fwdPIC32MZMPLABX IPv4 forwarding/routing application for PIC32MZ platform
tcpip_tcp_clientSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_tcp_client_serverSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_tcp_serverSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_udp_clientSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_udp_client_serverSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_udp_serverSAM9X60, SAMA5D2MPLABX migrated applications
web_net_server_qspi_mpfsSAM9X60, SAMA5D2MPLABX migrated applications
web_net_server_sdcard_fatfsSAM9X60, SAMA5D2MPLABX migrated applications
wolfssl_tcp_clientSAM9X60, SAMA5D2MPLABX migrated applications
tcpip_client_serverSAMA5D2MPLABX migrated application
wolfssl_tcp_serverSAMA5D2MPLABX migrated application
  • Updated Applications

    • All applications have been regenerated and tested to work with the latest repositories the TCP/IP stack depends on: core, csp, crypto, etc.
  • Bug Fixes

The following table provides the list of bug fixes in the 3.8.0 release:

ModuleDescription
KSZ8091 PHY driverUpdated the KSZ8091 PHY Auto MDIX setting
IPv6Fixed compilation issue for IPv6 only demos
Net UtilitiesUpdated the mpfs utility to generate HTTP_APP_DYNVAR_BUFFER for http_net_print.h file
ICMPUpdated ICMP to properly release a request once the request is done
FTP ServerUpdated the formatting for the file command list
IPV6TCPIP_ICMPV6_CLIENT_USER_NOTIFICATION updated to TCPIP_ICMPV6_CLIENT_CONSOLE_CMD
SAMA5D2 MAC driverAdded extra checks and updates to the A5D2 MAC driver
ManagerAdded a more explicit initialization failure message
DHCP clientARP check timeout is MHC/MCC configurable now
SMTPCIncreased the default socket buffer size to 2 KB
SYS_Random adapterAdded multi-threaded protection for the SYS_Random adapter
All modulesFixes for MISRA violations

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit
PIC32MX Ethernet Starter Kit II
SAM9X60-EK Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • IAR projects are not supported in this release

  • SAM9X60/SAMA5D2 MPLABX demos regeneration should NOT overwrite the mpfs_net_img.c file.

    • The symbols used in this automatically generated file are not present in the project.
  • wolfSSL/wolfCrypto PIC32M projects should be built with xc32 version >= 3.01.

    • Otherwise the build will fail.
  • HTTP_NET projects using https with wolfSSL/wolfCrypt need to use xc32 v3.01.

    • A crash occurrs with xc32 v4.0 for PIC32MZ, SAME54.
    • Issue is under investigation.
  • HTTP_NET FreeRTOS demos need a heap size of 200K when using the XC32 v4.0.0 compiler.

  • SAMA5D2 MPLABX demos should NOT overwrite the linker script ddr.ld when regenerated.

    • Otherwise the GMAC descriptors: gmac_dcpt_array will not be placed in the '.region_nocache'
  • SAMA5D2 projects should be built with -O0 optimization and at least 16 descriptors.

    • Higher optimization may cause GMAC driver lock up.
    • Investigation is in progress.
  • The SAM9x60 MPLABX should NOT overwrite the linker script ddram.ld when regenerated.

    • Otherwise the EMAC descriptors: EMAC0_DcptArray will not be placed in the '.region_nocache'
  • wolfMQTT demos need to have the file third_party/wolfMQTT/mqtt_socket.c built without xc32 option 'Make warnings into errors'

    • That is because it uses the obsolete #include <sys/errno.h>
    • Applies to PIC32MZ, SAME70, SAMV71 platforms
  • Net Plugin issues:

    • Issue 1: The connection between MAC and NETCONFIG is missing in MCC project graph.

      • This happens for Net demos not migrated to TCP/IP Configurator. This issue will not impact code regeneration.
      • Reason: The MAC components updated for multi-capability support (MH3-52292).
      • Workaround: Open the project graph in MCC. Open 'TCP/IP Configuration' from Plugins drop-down menu. Go to 'Data Link' Layer. Connect nodes between NETCONFIG and MAC.
    • Issue 2: Cannot remove dependency node on group-box once added.

      • This issue happens when multiple instances of external ethernet controller are added to project and one instance is removed later
      • Reason: New python interface API needed (CFW-1183)
      • Workaround: No work around available
    • Issue 3: While starting the TCP/IP demo projects, the ‘Number of Instances Using UART’ field in SYS_CONSOLE shows value ‘2’.

      • This happens when only one UART is connected to SYS_CONSOLE, and the above field should be ‘1’.
      • Reason: Under investigation
      • Workaround: Remove SYS_CONSOLE from project graph. Add the SYS_CONSOLE back to project graph. Connect the dependencies.
  • Stack down/up issues:

    • When using xc32 v4.00 there is the possibility that executing the sequence stack down and then up, the stack up fails because of an allocation error.
    • This occurs even if the stack down was successful and all the memory was released.
    • The issue is currently under investigation.
    • Use xc32 v3.01 as a workaround.

Net Release v3.7.4 (October, 2021)

ADDITIONS AND UPDATES FOR 3.7.4:

  • Important functionality update

This release provides support for Microchip Wi-Fi demos.
As with the Release v3.7.3 this release uses updated MAC drivers to work with the new packet allocation and layout.

Regular Harmony networking demos should use the previous v3.7.2 release!
Complete testing with the new allocation scheme will be part of the net v3.8.0 release.

  • New features

The following table provides the list of the new features included in the 3.7.4 dot release:

ModuleDescription
IPv4Added dynamic routing API
Allowed internal routing of broadcast packets with source IP address == 0
MAC bridgeAdded bridge ports glue code for ARP and IPv4
Update the MAC bridge to do its own time keeping
NET_PRESUpdates for support of SNI and ALPN features for TLS connection
DHCP ServerAdded ICMP support, renewal and rebind option support
TCP, UDPAdded run time debug checkpoints
ETHMAC driverUpdated synchronization to protect only the driver queues
  • Bug Fixes

The following table provides the list of bug fixes in the 3.7.4 dot release:

ModuleDescription
GMAC driverFix for incorrect use of _dataOffsetMask
DRV_GMAC_PacketTx properly verifies the packet priority field
ManagerFixed the clearing of the packet priority
ETHMAC driverUpdated the ETH MAC statistics registers to return 32 bits
DHCP serverRun time exception issue resolved
MHCFixed Incorrect definition of "TCPIP_IF_PIC32MZW_ETHMAC" for PIC32M projects
Add processor condition check for SAMRH71 macName
Fixed MHC failure on devices without internal mac when tcp/ip stack enabled
All net modulesUpdates and fixes for MISRA build failures

TESTED WITH:

Software Dependencies

Net Release v3.7.3 (July, 2021)

ADDITIONS AND UPDATES FOR 3.7.3:

  • Important functionality update

This release provides support for Microsoft NetxDuo and Azure IoT demos.
This release changes the allocation of the MAC packets and the payload alignment.
Protocol structures are now 32 bit boundary aligned.
MAC drivers have been updated to work with the new packet layout.

Regular Harmony networking demos should use the previous v3.7.2 release!
Complete testing with the new allocation scheme will be part of the net v3.8.0 release.

  • New features

The following table provides the list of the new features included in the 3.7.3 dot release:

ModuleDescription
MAC driversUpdated the MC packet structure for a more efficient payload alignment. Protocol structures are now 32 bit aligned
MAC driversUpdated the MAC TCPIP_MAC_PacketRx() signature
MHCAdded support for Azure IoT configuration
AnnounceUpdated announce to advertise a static IPv4 address too
HTTP_NETDefaulted the HTTP_NET allocation functions to TCP/IP heap
  • Bug Fixes

The following table provides the list of bug fixes in the 3.7.3 dot release:

ModuleDescription
GMAC driverPrevent multiple freeing of array of pointers for rx packet in _MacRxFreePacket
ENC 28J60 driverExtended Receive Status Vector buffer to avoid overwrite and exception
ETHMAC, GMAC driverCleared the initialization flag so that the _MACDeinit is called only once

TESTED WITH:

Software Dependencies

Net Release v3.7.2 (April, 2021)

ADDITIONS AND UPDATES FOR 3.7.2:

  • New features

The following table provides the list of the new features included in the 3.7.2 dot release:

ModuleDescription
FTP serverAdded lower case commands support
FTP serverCommand socket disconnect when client connection is not present
Packet loggerSupport for just one of the and/or commands
DHCP ClientUse of extended ID for virtual interfaces only
  • Bug Fixes

The following table provides the list of bug fixes in the 3.7.2 dot release:

ModuleDescription
All net modulesVarious fixes for build with xc32 v3.0
IPv4Updated TCPIP_IPV4_PacketTransmit() to acknowledge only the fragments it created
ICMPDiscarded all ICMP fragments when TCPIP_IPV4_PktTx() failed
Updated the ICMP response to follow the IPv4 forwarding flow
DNS clientUpdated the selection of the DNS server index and interface
GMAC driverFixed wrong index type in DRV_PIC32CGMAC_LibTxInit
MHCSet Display Type of all TCP/IP related component to identify the layer
  • Release notes for v3.7.1 apply

Net Release v3.7.1 (March, 2021)

ADDITIONS AND UPDATES FOR 3.7.1:

  • New features

The following table provides the list of the new features included in the 3.7.1 dot release:

ModuleDescription
FTP serverAdded the use of NetPres API
TFTP ClientAdded IPv4/IPv6 Selection
FTP ServerAdded IPv4/IPv6 Selection
DHCPV6 clientAdded MHC support
BSDUpdated connect procedure
NET_PRESTrust&Go Client Certificate updates
PHY driverAdded PHY vendor detection procedure
SNTPAdded run time enable/disable functionality
TCPAllowed disabling of the Crypt RNG usage
ManagerAdded support for power mode == 'down'
Allow network interfaces to start in 'down' state
  • Bug Fixes

The following table provides the list of bug fixes in the 3.7.1 dot release:

ModuleDescription
FTP, UDP, CommandsUpdated Deinitialize routine to perform action only if already properly initialized
TFTP clientPUT command large file transfer issue resolved
ENCx24j600Fixed MAC driver failing to release all the allocated resources
GMAC driverFixed not transmitting with 1 Tx Descriptor
Enabled DCache Clean by Address
SNTPFixed test for TCPIP_UDP_TxPutIsReady()
MAC bridgeFixed corner case resulting in an orphaned packet
ManagerRemoved address 0 from duplicate check

| MHC | Fixed wolmqtt regeneration failure due to missing 'user_settings.h' | | | Fixed issues with MAC bridging support | | | Auto activated SNTP Component when 'Encryption' in net_Pres component is enabled | |sys_adapter | Fixed memory leaks in the random adapter |

  • Release notes for v3.7.0 apply

Net Release v3.7.0 (December, 2020)

ADDITIONS AND UPDATES FOR 3.7.0:

  • New Application Repos

The following table provides the list of the new applications repositories for the net distribution:

RepositoryPlatformDescription
net_apps_pic32mxPIC32MXNetworking applications for PIC32MX
net_apps_pic32mzPIC32MZDA, PIC32MZEFNetworking applications for PIC32MZDA and PIC32MZEF
net_apps_sam_9x60SAM9X60Networking applications for SAM9X60
net_apps_sam_a5d2SAMA5D2Networking applications for SAMA5D2
net_apps_sam_e5xSAME54Networking applications for SAME54
net_apps_sam_e70_v71SAME70, SAMV71Networking applications for SAME70 and SAMV71
  • New features

The following table provides the list of the new features included in the 3.7.0 release:

ModuleDescription
IPv4Added IP static forwarding support. For multiple interfaces hosts the TCP/IP stack provides routing functionality
Layer 2 BridgeAdded interfaces bridging at the MAC level. Hosts with multiple interfaces can bridge them to create a network aggregate
MAC driverThe packet allocation has been updated so that all the MAC driver use a unique data packet layout accross all architectures. This allows packets to be dynamically exchanged between different interfaces
ZCLLUpdated ZCLL to announce its own address and use a better pseudo-random algorithm. Thanks to jdeguire on the Forum for his contribution
MHCThe NET_PRES module configuration has been simplified and it belongs now to the TCP/IP stack. It is now part of Libraries->TCPIP->Layer6-PRESENTATION->Presentation Layer. The demos have been updated to use this new configuration module
TCP/IP MHCAll TCP/IP stack modules settings have been divided into basic and advanced settings to simplify the module configuration. The advanced settings contain not frequently used parameters and are hidden by default
GMAC DriverSupport for Priority Queuing of Tx and Rx packets has been added
  • Addressed Security Vulnerabilities

The following table provides the list of the security vulnerabilities addressed in the 3.7.0 release:

VulnerabilityDescription
CVE-2020-17439 (FSCT-2020-0017)DNS Cache Poisoning
CVE-2020-17441 (FSCT-2020-0014)IPv6 Payload Validation - DoS
  • New Applications

The following table provides the list of the new applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
tcpip_tcp_clientSAM9X60MPLABX TCP client demo application for SAM9X60 platform
  • Updated Applications

    • All applications have been regenerated and tested to work with the latest repositories the TCP/IP stack depends on: core, csp, crypto, etc.
  • Bug Fixes

The following table provides the list of bug fixes in the 3.7.0 release:

ModuleDescription
SAM9X60 MAC driverFixed bug in the driver receive functionality using clean instead of invalidate operation
SAMA5D2 MAC driverUpdated the MAC driver to replace the global cache operations with line oriented ones
ENC MAC driverAdjusted the packet segment length, removing the FCS and Ethernet header length
PHY driverUpdated the PHY driver operation to handle the MIIM reported errors
PHY driverRemoved PHY hardware configuration dependency of xc32 version
DNS clientAdded RR checks for DNS to match the query name with the answers. Fixed bug when extracting the RR name

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit
PIC32MX Ethernet Starter Kit II
SAM9X60-EK Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • When regenerating the FreeRTOS projects containing wolfSSL/wolfCrypt do NOT override the changes in the config.h if this adds the inclusion of definitions.h.

    • This header is needed for accessing the OSAL/FreeRTOS allocation functions: pvPortMalloc and vPortFree
  • Layer 2 Bridge documentation is not part of the current release

    • It will be added in a future release
  • Application for demonstrating the Layer 2 Bridge functionality is not part of the current release

    • It will be added in a future release
  • Application for demonstrating the IPv4 static forwarding/routing functionality is not part of the current release

    • It will be added in a future release
  • Release notes for v3.6.4 apply

Net Release v3.6.4 (October, 2020)

ADDITIONS AND UPDATES FOR 3.6.4:

  • Updated functionality

The following table provides the list of the updates included in the 3.6.4 dot release:

ModuleDescription
sys_adapterThe sys_random_h2_adapter has been updated to include the cryptographically secure random number generators. The sys_random_h2_adapter.c has been added to the net repo.
TCPThe calculation of the Initial Sequence Number (ISN) has been updated to include a strong random key

KNOWN ISSUES

The updates in this release affect the way in which the TCP sockets calculate the ISN. The calculation has been updated to include the crypto library in order to make the guessing of the ISN very diffcult.

  • The updates have been applied to the NET TCP/IP core TCP files.

  • The demos that are part of the release and contain the TCP module have NOT been updated! The demos need to be regenerated in order to apply this update

  • For proper regeneration of the demos, run the MPLAB Harmony Configurator (MHC) for the selected demo and configuration

    • Select the TCP/IP STACK component and go to the TRANSPORT LAYER
    • In the TCP/IP Transport Layer Configurator uncheck the TCP module checkbox and then add it back
    • If the Crypto Library was not part of the project it will be added. Accept all the requested changes when prompted
    • The Crypto Library and wolfCrypt Library components will be now part of the root project graph
    • Regenerate the demo and the updates will be included
  • Release notes for v3.6.1 apply

Net Release v3.6.3 (October, 2020)

ADDITIONS AND UPDATES FOR 3.6.3:

  • New features

The following table provides the list of the new features included in the 3.6.3 dot release:

ModuleDescription
sys_adapterRemoved the sys_reset_h2_adapter from net repo. This is handled by the core system services
  • Release notes for v3.6.1 apply

Net Release v3.6.2 (September, 2020)

ADDITIONS AND UPDATES FOR 3.6.2:

  • New features

The following table provides the list of the new features included in the 3.6.2 dot release:

ModuleDescription
NET_PRESAdded MHC support for TLS mutual auth for NET PRES Client
Added function to retrieve Client TLS parameters to certificate store files
Added new dropdown options to select X509 file formats for certificates and Private key (i.e. PEM or ASN1)
Added mutual auth empty function definition to certificate stub section for uniformity
CA cert format and Server cert format set to ASN1 in netPres.py to maintain backward compatibility
Changed MHC GUI field names for Client Certificate to Client CA Certififace
sys_adapterAdded sys_reset_h2_adapter handling of PIC32M devices
  • Bug Fixes

The following table provides the list of bug fixes in the 3.6.2 dot release:

ModuleDescription
Demo appsAdded missing atsame54p20a_compat.h file: web_net_server_nvm_mpfs, web_server_nvm_mpfs, wolfmqtt_demo
Removed from manifest.yml the files not in package.xml
PHY driverRemoved PHY hardware configuration dependency of xc32 version
MHCFixed ICMP file not included in project when ICMP Server/Client unchecked
Fixed tcpip_helper_c32.S added by MH3 configurator for non MIPS projects
Fixed netPresBlobClientSupport name used for 2 different symbols
Fixed wolfMQTT NET Glue script not generating proper code
NET_PRESUpdated the NET_PRES glue code to use sys_debug service
TCP/IP ManagerUpdated the SYS_ERROR_PRINT format parameters
SYS_FS shellUpdated the Shell_FileDelete return type
IPv6Moved the flexible array IPV6_DATA_SEGMENT_HEADER structure to the end of the IPV6_PACKET definition
UDP, TCPAdded comments for sockets multi-threaded usage
DHCPv4Updated the default DHCP client timeout to 10 seconds
HTTP_NETUpdated the ledSelected custom code to properly use the dynamic STRING type
Fixed the decrement of negative numbers
Updated the html pages copyright date
  • Release notes for v3.6.1 apply

Net Release v3.6.1 (June, 2020)

ADDITIONS AND UPDATES FOR 3.6.1:

  • New features

The following table provides the list of the new features included in this dot release:

ModuleDescription
MAC driverAdded support for PIC32MZW1 controller
NET_PRESAdded certification validation option
  • Release notes for v3.6.0 apply

Net Release v3.6.0 (June, 2020)

ADDITIONS AND UPDATES FOR 3.6.0:

  • New Configurations

The following table provides the list of the new configurations included in this release:

ApplicationPlatformDescription
web_ftp_server_usb_fatfsSAME54HTTP + FTP and USB combined demo for SAME54 device for both baremetal and FreeRTOS
web_net_server_qspi_mpfsSAM9X60Web server with MPFS file system on the onboard QSPI Flash Memory
tcpip_tcp_serverPIC32MZEF ESK with ENC24xJ600TCP Server demo using Harmony native API
tcpip_tcp_serverPIC32MX ESK II with ENC28J60TCP Server demo using Harmony native API
tcpip_tcp_clientPIC32MZEF ESK with ENC24xJ600TCP Client demo using Harmony native API
tcpip_tcp_clientPIC32MX ESK II with ENC28J60TCP Client demo using Harmony native API
  • New features

The following table provides the list of the new features included in this release:

ModuleDescription
Ethernet PHY driverAdded support for KSZ8041, KSZ8863, LAN8700, LAN8720, LAN9303, DP83640, DP83848, IP101GR
Ethernet MAC driverAdded support for ENC24xJ600 and ENC28J60 controllers
TCP/IP MHCAdded TCP/IP Stack heap estimation in MHC configuration
TCP/IP MHCMQTT_NET Glue code is now optional
TCP/IP MHCMHC Network configuration flags updated to allow all the possible combinations
TCPChanged the TCPIP_TCP_CLOSE_WAIT_TIMEOUT default value to 0
TCP, NET_PRESAdded API to indicate remote party disconnect (FIN)
FTPAdded FTP server run time authentication
TCP DemosUpdated all the TCP demos to specifically check for the remote party sending FIN
MQTT DemoAdded MQTT ping command
MPFS Utilitympfs.jar renamed to mpfs_net.jar
MPFS Utilitympfs_net.jar utility will generate a MPFS_Net_SettingDetails.xml file for the configuration backup
  • Updated Applications

    • All applications have been regenerated and tested to work with the latest repositories the TCP/IP stack depends on: core, csp, crypto, etc.

    • The TCP TCPIP_TCP_CLOSE_WAIT_TIMEOUT default value is now 0.

      • This means that the sockets do not close themselves when receiving a FIN from the remote node.
      • The socket owner needs to actively close the socket.
      • The TCPIP_TCP_WasDisconnected() and NET_PRES_SocketWasDisconnected() APIs were added for support.
      • The TCPIP_TCP_CLOSE_WAIT_TIMEOUT is marked as obsolete and will be eventually removed. However the application can still use it for now with a value != 0 if needed.
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
drv_gmacGMAC driver fix to de-allocate all memory when the driver is closed
drv_gmacFix for SAMA5D2 GMAC showing incorrect queue numbers
FTP serverAdded a new creation flag for the SYS_FS shell to allow proper relative root access
FTP serverFTP directory search uses now SYS_FS_ATTR_FILE attribute to find all the files and directories within a directory
NET_PRESFix for NET_PRES_SignalHandler callback function pointer
HTTP_NET, HTTPFix for MPFS upload functionality
TCP/IP StackUpdated the use of the flexible arrays to conform to the language C standard
TCP/IP MHCFixed MHC error occurring while modifying the NET_PRES component in MHC
TCP/IP MHCFixed MHC error failing to activate IPv6 component in MHC
MPFS UtilityFixed MPFS "pre-build" configuration was not able to validate the input MPFS image path
SNMPDependency on legacy aes_pic32mx.a library has been removed. WolfSSL AES-CFB 128 bit is used now for SNMP encryption and decryption
HTTP_NETHTTP EventReport converts all event infos to strings

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules (see net/package.xml):

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit
PIC32MX Ethernet Starter Kit II
SAM9X60-EK Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • SYS_DEBUG module needs to be removed in demos with external Ethernet controllers ENCx24J600 and ENC28J60:

    • This is due to DRV_SPI_TransferStatusGet() function returning "Transfer Handle Expired"
  • When migrating a project from Net v3.5.1 to v3.6.0, the user may need to remove the "FILE SYSTEM" component from the project graph and then add it back to solve build issues

  • wolfMQTT MHC configuration:

    • In 'wolfMQTT Library Configuration' when checking the 'Enable MQTT TLS' the generated code will fail build because missing of 'wolfSSL/options.h' file.
    • This file is not currently generated for wolfSSL and needs to be added manually
  • web_net_server_qspi_mpfs on sam_a5d2_xult:

    • Run time exceptions occur after running the application for a while
    • This issue is currently under investigation
  • web_net_server_sdcard_fatfs on sam_9x60_ek:

    • The HTTP access to the files and the HTTP connection is very slow
    • This issue is currently under investigation
  • web_ftp_server_usb_fatfs on sam_e54_sk and sam_e54_sk_freertos:

    • DFP pack needs to be updated for these demos and SAME54_DFP v3.3.64 should be used
  • For the TCP/IP demos using dual file system with SDMMC and NVM (web_ftp_server_mpfs_fatfs project for example):

    • A run time issue can occur when HTTP asks for a file status: the SYS_FS call can fail
    • The workaround is to have DRV_MEMORY_Initialize() (used by MPFS) called before the the call to DRV_SDSPI_Initialize() call (used by the FAT FS)
    • The mount of MPFS should be done before the FAT FS mount.
    • This is a known SYS_FS issue which will be solved in a future release.
  • The DHCP server module does not handle well the initialization data on multiple interfaces

    • A run time exception can occur when using the DHCP server on multiple interfaces.
  • wolfSSL code using the PIC32MZ crypto engine does not work correctly

    • PIC32MZ hardware crypto should not be selected in MHC
    • This is a known issue that is taken care of in a newer wolfSSL release.
  • SAM9X60 driver corrupted RX packets may occur:

    • For RX packets that span more than one descriptor (i.e. packet size > 128 bytes) data corruption may occur.
    • Some packets may be reported as having wrong checksum and discarded.
    • This issue is under investigation and will be solved in a future release.

Older known issues:

  • When creating an IAR project with MHC for the SAME54 Xplained Pro platform the following extra step is needed:

    • Add '__PIC32C__' in project options-> c/c++ compiler -> preprocessor-> Defined symbols
  • For PIC32MX projects on the Ethernet Stater Kit II:

    • PIC32MX device supports only the core timer. If other timer is selected there will be MHC errors during the demo generation.
    • Ethernet Starter Kit II doesn’t have on board UART2 connector
      • If a serial console is needed, a quick workaround may be attaching the Starter Kit to an Explorer 16 Development Board by using a Starter Kit I/O Expansion Board.
      • Another option is to use a telnet connection
      • MHC will throw an error if the UART component is not selected
    • It is preferred that the demos add both telnet and UART2 support.
  • SAM9X60 projects:

    • SAM9x60 projects with FAT FS work with optimization 0 only
      • Reading of the status.xml from the SD card could experience temporary lock ups.
    • The application code uses a Phy reset function
      • This is caused by a bug on the SAM9X60-EK board (KSZ8081 too sensitive to a jittery clock source)
    • The processor selection for debugging should be ARM926EJ-S
  • For all the IAR projects:

    • The 'VLA -- variable length arrays' must be allowed in the compiler configuration.
    • Suppress the diagnostics Pe186, Pe188, Pe1029
  • SAMA5D2, SAM9X60 IAR projects known issues:

    • The SNMP protocol and corresponding demo applications are not available.
    • IPv6 ULA generation is not available
    • ZCLL module is not supported
    • Crypto library is now supported on the SAMA5D2 processor. However the net_pres layer with wolfSSL encryption has not yet been fully tested for these projects. This will be done in a future release.
    • A workaround for the QSPI plib is in place for this release. When regenerating the code, the workaround must NOT be overwritten.
    • The SAMA5D2 projects need the symbols defined: __SAMA5D2__, __PIC32C__
  • The code has been updated to allow the integrating of the WINC driver to the H3 TCP/IP Stack.

    • However the WINC support is not yet available. It will be added in a future release.
  • SAM9X60 documentation issues:

    • The documentation for the SAM9X60 EMAC driver is currently missing.
    • The code/RAM resource tables do not contain the SAM9X60 platform.
    • They will be added in a future release.
  • When regenerating a project that includes wolfSSL and crypto, MHC will try to include the HAVE_AES_ECB symbol in the configuration.h.

    • Do not include this symbol as the build will fail. Simply ignore the change.
  • The SAME70 XULT board has some issues and detection of the PHY board may fail. This issue is under investigation.

    • For now the SAME70 projects are present in the repo just for reference and not for actual running demos.
    • For now the SAME70 projects are generated using the LAN8740 PHY instead of KSZ8061 which is the default PHY for this board.
  • The ICD4 loads the reset line of the SAM V71 Xplained Ultra board. When running demo projects using the V71, the ICD4 flex cable should be removed after programming to run the application.

  • Interactive help using the Show User Manual Entry in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the Configuring the Library section in the help documentation in the doc folder for this Harmony 3 module instead. Help is available in both CHM and PDF formats.

  • SDMMC driver may block inside an internal routine while using the HTTP server and locks up the whole application. No workaround exists.

  • EDBG programming of a hex file on the SAME54 XPRO board may fail.

  • There are some mandatory MISRA violations in some of the repo files. They will be fixed in some next release:

    • System: sys_debug.c, sys_command.c
    • TCP/IP: smtpc.c, ndp.c, custom_http_net_app.c, icmpv6.c,
  • Adding TCP/IP components to the project must be done using the TCP/IP Configurators in order to load the dependencies properly. Adding the TCP/IP components from the "Available Components", without using configurator, might cause build issues.

  • Similarly, remove the TCP/IP components by using the TCP/IP Configurator for the respective layer

  • Do not add the TCP/IP components to the project by using both the TCP/IP Configurator and manually adding from "Available Components".

  • Do not delete the TCP/IP Configurators from project graph.

  • Interactive help using the "Show User Manual Entry" in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the "Configuring the Library" section in the help documentation in the doc folder for this module instead. Help is available in both CHM and PDF formats.

  • When the File System service is used in a demonstration application, make sure to set "Maximum Simultaneous File Access" to a number above 10. Especially the HTTP server needs to open multiple files simultaneously.

  • When the RTOS is enabled, make sure to include RTOS system API’s (like Time Delay functions) in application task to give other tasks the chance to execute. This can be achieved by enabling the "Use Task Delay" from Application Configuration -> RTOS Configuration.

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description.

FolderDescription
net/apps/berkeley_tcp_clientTCP Client demo using BSD API
net/apps/berkeley_tcp_serverTCP Server demo using BSD API
net/apps/berkeley_udp_clientUDP Client demo using BSD API
net/apps/berkeley_udp_relayUDP Relay demo using BSD API
net/apps/berkeley_udp_serverUDP Server demo using BSD API
net/apps/iperf_demoDemo for running iperf and measuring the network performance
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storage
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD card
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threads
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native API
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native API
net/apps/tcpip_tcp_demo_at24macDemo using the TCP/IP Stack initialization callback feature to use the board MAC address stored on the AT24MAC402 EEPROM storage
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native API
net/apps/tcpip_udp_clientUDP Client demo using Harmony native API
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native API
net/apps/tcpip_udp_serverUDP Server demo using Harmony native API
net/apps/web_ftp_server_mpfs_fatfsDual SYS_FS demo, with HTTP web server using MPFS/NVM and FTP server using FAT FS/SDCARD
net/apps/web_ftp_server_usb_fatfsHTTP server demo with MSD Host Class Driver to read/write files from USB Flash Drive
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storage
net/apps/web_net_server_qspi_mpfsWeb server with MPFS file system on the onboard QSPI Flash Memory
net/apps/web_net_server_sdcard_fatfsWeb server with FAT FS file system on the external SD card
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storage
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD card
net/apps/wolfmqtt_demoMQTT demo using the 3rd party wolfMQTT library
net/apps/wolfssl_tcp_clientDemo connecting to a Web server using TLS to encrypt the connection with wolfSSL
net/apps/wolfssl_tcp_serverWeb server demo accepting encrypted TLS connections using wolfSSL

Net Release v3.5.0 (November, 2019)

ADDITIONS AND UPDATES FOR 3.5.0:

  • New part support -This release introduces initial support for PIC32MX and SAM 9X60 families of 32-bit MPUs.

  • New Applications

The following table provides the list of the new applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
iperf_demoPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71Standard network benchmark demo
tcpip_tcp_demo_at24macSAME54, SAME70, SAMV71Demo using the board MAC address from the AT24MAC402 EEPROM storage
web_ftp_server_mpfs_fatfsPIC32MZDA, PIC32MZEF, SAME54, SAME70Demo with HTTP web server using MPFS/NVM and FTP server using FATFS/SDCARD
wolfssl_tcp_clientPIC32MZEF, SAME54, SAME70, SAMA5D2wolfSSL TCP client demo
wolfssl_tcp_serverPIC32MZEF, SAME54, SAME70, SAMA5D2wolfSSL TCP server demo
web_net_server_nvm_mpfsPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71FreeRTOS Web server with MPFS file system using the NVM storage
web_net_server_sdcard_fatfsPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71FreeRTOS Web server with FAT FS file system on the external SD Card
  • New features

The following table provides the list of the new features included in this release:

ModuleDescription
TCP/IP ManagerAdded initialization callback to delay the initialization until the moment the configuration data is available
TCP/IP ManagerAdded registration for external TCP/IP packet processing
TCPAdded registration for external TCP packet processing
UDPAdded registration for external UDP packet processing
IPv4Added registration for external IPv4 packet processing
IPv6Added registration for external IPv6 packet processing
telnetAdded run time authentication registration
SNTPSNTP detects an empty/null server name as a way to stop its operation and stay idle
BSDAdded TCPIP_BSD_PresSocket() API to return the NET_PRES socket
TCP/IP Packet loggerAdded packet logger reset operation
HTTP_NET, HTTP, FTPs, TFTPs, SNMPRemoved Sys_FS_Wrapper. Added a SYS_FS_Shell object. Server modules have a initialization parameter to control the serving directory
FTP ClientAdded FTP Client implementation, Beta support
MAC driverApplied changes for allowing the integrating WINC driver to the H3 TCP/IP Stack
DemosThe SYS_FS mount points are now controlled by the applications. The application has to configure the TCP/IP servers with the mount points
  • Updated Applications

Support for applications using the IAR IDE for SAME70, SAME54, SAMV71 and SAM9X60 has been added. The following table provides the list of the updated IAR applications including bare metal and FreeRTOS configurations:

IAR ApplicationPlatformDescription
tcpip_tcp_clientSAM9X60, SAMA5D2, SAME54, SAME70, SAMV71TCP Client demo using Harmony native API
tcpip_tcp_serverSAM9X60, SAMA5D2, SAME54, SAME70, SAMV71TCP Server demo using Harmony native API
tcpip_tcp_client_serverSAM9X60, SAMA5D2TCP Client and Server demo using Harmony native API
tcpip_udp_clientSAM9X60, SAMA5D2UDP Client demo using Harmony native API
tcpip_udp_client_serverSAM9X60, SAMA5D2UDP Client and Server demo using Harmony native API
tcpip_udp_serverSAM9X60, SAMA5D2UDP Server demo using Harmony native API
web_net_server_sdcard_fatfsSAM9X60, SAMA5D2Web server with FAT FS file system on the external SD Card
tcpip_client_serverSAMA5D2Multi-threaded example with TCP and UDP server and client threads

The following table provides the list of the updated MPLABX applications including bare metal and FreeRTOS configurations:

MPLABX ApplicationPlatformDescription
berkeley_tcp_clientPIC32MZEF, PIC32MZDA, SAME54, SAME70, SAMV71TCP Client demo using BSD API
berkeley_tcp_serverPIC32MZEF, PIC32MZDA, SAME54, SAME70, SAMV71TCP Server demo using BSD API
berkeley_udp_clientPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Client demo using BSD API
berkeley_udp_relayPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Relay demo using BSD API
berkeley_udp_serverPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Server demo using BSD API
snmpv3_nvm_mpfsPIC32MZEF, SAME54, SAME70, SAMV71SNMPv3 demo with MPFS file system using NVM storage
snmpv3_sdcard_fatfsPIC32MZEF, PIC32MZDA, SAME54, SAME70, SAMV71SNMPv3 demo with FAT FS file system using external SD card
tcpip_client_serverPIC32MZDA, PIC32MZEF, SAME54, SAME70Multi-threaded example with TCP and UDP server and client threads
tcpip_tcp_clientPIC32MX, PIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71TCP Client demo using Harmony native API
tcpip_tcp_client_serverPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71TCP Client and Server demo using Harmony native API
tcpip_tcp_serverPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71TCP Server demo using Harmony native API
tcpip_udp_clientPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71UDP Client demo using Harmony native API
tcpip_udp_client_serverPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71UDP Client and Server demo using Harmony native API
tcpip_udp_serverPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71UDP Server demo using Harmony native API
web_net_server_nvm_mpfsPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71Web server with MPFS file system using the NVM storage
web_net_server_sdcard_fatfsPIC32MZDA, PIC32MZEF, SAME54, SAME70, SAMV71Web server with FAT FS file system on the external SD Card
web_server_nvm_mpfsPIC32MZEF, SAME54, SAME70, SAMV71Old style web server with MPFS file system using the NVM storage
web_server_sdcard_fatfsSAME54, SAME70, SAMV71Old style web server with FAT FS file system on the external SD card
wolfmqtt_demoPIC32MZEF, SAME70wolfMQTT application demonstrates a simple MQTT application using the 3rd party wolfMQTT library
  • Updated Drivers

The following table provides the list of new support for MAC drivers:

DriverPlatform
drv_emac.c, drv_emac_lib.cSAM9X60
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
drv_gmacFixed GMAC driver deadlock during BNA
NET_PRESFixed the provider free context only when the context is open.
FTP serverThe 'rmdir' command has been fixed to send an error message to the client if the directory is not empty
HTTP_NET, HTTPRemoved SYS_FS dependencies from the web pages and custom_http
MAC driverMoved the part specific structures from the tcpip_mac.h to the corresponding MAC driver header file
SNTPDetected loss of link while waiting for DNS and switched to an wait state
IGMPUpdated the query processing for IGMP to avoid discarding query nodes
TCP/IP CommandsEnabled the inclusion of drv_miim.h only when MIIM commands are selected
telnetupdated the _Telnet_GETC() to properly discard control characters in the buffer
DHCPv6Replaced SYS_CONSOLE_MESSAGE with SYS_CONSOLE_PRINT for the DHCPv6 debug messages
TCP/IP ManagerRemoved TCP/IP packet redundant allocation map to non cached memory
drv_ethphyRemove obsolete DRV_ETHPHY_OBJECT_BASE MIIM access functions. Removed unsupported WOL
drv_gmacRemoved PIC32C_GMAC_ISR_TX option
drv_ethmacRemoved obsolete ETH_PIC32_INT_MAC_ISR_TX symbol

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules:

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit
PIC32MX Ethernet Starter Kit II
SAM9X60-EK Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • For creating an IAR project with MHC for the SAME54 Xplained Pro platform the following steps are needed:

    • Run MHC in standalone mode
    • Create new configuration
    • Uncheck checkbox 'convert to relative path for configuration' in MPLAB Harmony Framework Management Tool
    • Add configuration name as 'sam_54_xpro'
    • Select device as SAME54P20A
    • Add components in MHC
    • Configure TCP/IP Heap size, configure clock, configure Pins
    • Select the toolchain as IAR, under System module
    • Configure System Heap size.
    • Generate Code
    • Copy flash.icf file from IAR toolchain folder to directory config<config_name>\
    • Open IAR IDE
    • Create new project
    • Add project connection with .ipcf file in directory config<config_name>\
    • Override default linker script with the flash.icf in config<config_name>\ folder by Project->Options->Linker->Config->Override Default
    • Update heap and stack size in linker option at Project->Options->Linker->Config
    • To suppress warnings, add 'Pe186,Pe188' in project options-> c/c++ compiler -> diagnostics -> suppress these diagnostics
    • Add '__PIC32C__' in project options-> c/c++ compiler -> preprocessor-> Defined symbols
    • Add any application source files (not generated by MHC) to project by Project->Add Files
    • Select the debugger as CMSIS-DAP
    • Build and debug the project
  • For creating an IAR project with MHC for the SAME70/SAMV71 Xplained Ultra platforms the following steps are needed:

    • Run MHC in standalone mode
    • Create new configuration
    • Uncheck checkbox 'convert to relative path for configuration' in MPLAB Harmony Framework Management Tool
    • Add configuration name as 'sam_e70_xult_iar'
    • Select device as SAME70Q21B
    • Add components in MHC
    • Configure TCP/IP Heap size, configure clock, configure Pins
    • Select the toolchain as IAR, under System module
    • Configure System Heap size.
    • Generate Code
    • Copy flash.icf file from IAR toolchain folder to directory config<config_name>\
    • Open IAR IDE
    • Create new project
    • Add project connection with .ipcf file in directory config<config_name>\
    • For SAME70 project, select the device name at Project->Options->General Options as 'Microchip ATSAME70Q21xB'
    • Override default linker script with the flash.icf in config<config_name>\ folder by Project->Options->Linker->Config->Override Default
    • Update heap and stack size in linker option at Project->Options->Linker->Config
    • To suppress warnings, add 'Pe186,Pe188' in project options-> c/c++ compiler -> diagnostics -> suppress these diagnostics
    • Add '__PIC32C__' in project options-> c/c++ compiler -> preprocessor-> Defined symbols
    • Add any application source files (not generated by MHC) to project by Project->Add Files
    • Select the debugger as CMSIS-DAP
    • Build and debug the project.
  • For PIC32MX projects on the Ethernet Stater Kit II:

    • PIC32MX device supports only the core timer. If other timer is selected there will be MHC errors during the demo generation.
    • Ethernet Starter Kit II doesn’t have on board UART2 connector
      • If a serial console is needed, a quick workaround may be attaching the Starter Kit to an Explorer 16 Development Board by using a Starter Kit I/O Expansion Board.
      • Another option is to use a telnet connection
      • MHC will throw an error if the UART component is not selected
    • It is preferred that the demos add both telnet and UART2 support.
  • For the web_ftp_server_mpfs_fatfs project configurations:

    • A run time exception occurs with the initialization code generated by MHC
    • The workaround in the SYS_Initialize() is to have DRV_MEMORY_Initialize() call (which uses the MPFS file system) earlier than the to DRV_SDSPI_Initialize() call (which uses the FAT FS)
    • Do NOT overwrite the workaround when regenerating the project.
    • This is a known SYS_FS issue which will be solved in a future release.
  • SAM9X60 projects:

    • SAM9x60 projects with FAT FS work with optimization 0 only
      • Reading of the status.xml from the SD card could experience temporary lock ups.
    • The application code uses a Phy reset function
      • This is caused by a bug on the SAM9X60-EK board (KSZ8081 too sensitive to a jittery clock source)
    • The processor selection for debugging should be ARM926EJ-S
    • The SST26 component is currently disabled and can not be currently added for SAM9X60 projects
      • The project web_net_server_qspi_mpfs does not support the SAM9X60 configuration
  • For all the IAR projects:

    • The 'VLA -- variable length arrays' must be allowed in the compiler configuration.
    • Suppress the diagnostics Pe186, Pe188, Pe1029
  • SAMA5D2, SAM9X60 IAR projects known issues:

    • The SNMP protocol and corresponding demo applications are not available.
    • IPv6 ULA generation is not available
    • ZCLL module is not supported
    • Crypto library is now supported on the SAMA5D2 processor. However the net_pres layer with wolfSSL encryption has not yet been fully tested for these projects. This will be done in a future release.
    • A workaround for the QSPI plib is in place for this release. When regenerating the code, the workaround must NOT be overwritten.
    • The SAMA5D2 projects need the symbols defined: __SAMA5D2__, __PIC32C__
  • The code has been updated to allow the integrating of the WINC driver to the H3 TCP/IP Stack.

    • However the WINC support is not yet available. It will be added in a future release.
  • SAM9X60 documentation issues:

    • The documentation for the SAM9X60 EMAC driver is currently missing.
    • The code/RAM resource tables do not contain the SAM9X60 platform.
    • They will be added in a future release.

Older known issues:

  • MHC may hang when configuring NET_PRES Presentation Layer component.

    • Short-term work around is to save MHC state, close and reopen MHC.
  • When regenerating a project that includes wolfSSL and crypto, MHC will try to include the HAVE_AES_ECB symbol in the configuration.h.

    • Do not include this symbol as the build will fail. Simply ignore the change.
  • The SAME70 XULT board has some issues and detection of the PHY board may fail. This issue is under investigation.

    • For now the SAME70 projects are present in the repo just for reference and not for actual running demos.
    • For now the SAME70 projects are generated using the LAN8740 PHY instead of KSZ8061 which is the default PHY for this board.
  • The ICD4 loads the reset line of the SAM V71 Xplained Ultra board. When running demo projects using the V71, the ICD4 flex cable should be removed after programming to run the application.

  • Interactive help using the Show User Manual Entry in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the Configuring the Library section in the help documentation in the doc folder for this Harmony 3 module instead. Help is available in both CHM and PDF formats.

  • The SAME70 and SAMV71 TCPIP demos with SDCARD, won’t work with optimisation 0. Use optimization level 1.

  • SDMMC driver may block inside an internal routine while using the HTTP server and locks up the whole application. No workaround exists.

  • EDBG programming of a hex file on the SAME54 XPRO board may fail.

  • There are some mandatory MISRA violations in some of the repo files. They will be fixed in some next release:

    • System: sys_debug.c, sys_command.c
    • TCP/IP: smtpc.c, ndp.c, custom_http_net_app.c, icmpv6.c,
  • Adding TCP/IP components to the project must be done using the TCP/IP Configurators in order to load the dependencies properly. Adding the TCP/IP components from the "Available Components", without using configurator, might cause build issues.

  • Similarly, remove the TCP/IP components by using the TCP/IP Configurator for the respective layer

  • Do not add the TCP/IP components to the project by using both the TCP/IP Configurator and manually adding from "Available Components".

  • Do not delete the TCP/IP Configurators from project graph.

  • Interactive help using the "Show User Manual Entry" in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the "Configuring the Library" section in the help documentation in the doc folder for this module instead. Help is available in both CHM and PDF formats.

  • The tcpip_client_server application does not currently have complete documentation. The commands to use this demonstration are provided in the run time help available as console commands. This will be added in a future release.

  • When the File System service is used in a demonstration application, make sure to set "Maximum Simultaneous File Access" to a number above 10. Especially the HTTP server needs to open multiple files simultaneously.

  • When the RTOS is enabled, make sure to include RTOS system API’s (like Time Delay functions) in application task to give other tasks the chance to execute. This can be achieved by enabling the "Use Task Delay" from Application Configuration -> RTOS Configuration.

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description.

FolderDescription
net/apps/berkeley_tcp_clientTCP Client demo using BSD API
net/apps/berkeley_tcp_serverTCP Server demo using BSD API
net/apps/berkeley_udp_clientUDP Client demo using BSD API
net/apps/berkeley_udp_relayUDP Relay demo using BSD API
net/apps/berkeley_udp_serverUDP Server demo using BSD API
net/apps/iperf_demoDemo for running iperf and measuring the network performance
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storage
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD card
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threads
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native API
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native API
net/apps/tcpip_tcp_demo_at24macDemo using the TCP/IP Stack initialization callback feature to use the board MAC address stored on the AT24MAC402 EEPROM storage
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native API
net/apps/tcpip_udp_clientUDP Client demo using Harmony native API
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native API
net/apps/tcpip_udp_serverUDP Server demo using Harmony native API
net/apps/web_ftp_server_mpfs_fatfsDual SYS_FS demo, with HTTP web server using MPFS/NVM and FTP server using FAT FS/SDCARD
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storage
net/apps/web_net_server_qspi_mpfsWeb server with MPFS file system on the onboard QSPI Flash Memory
net/apps/web_net_server_sdcard_fatfsWeb server with FAT FS file system on the external SD card
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storage
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD card
net/apps/wolfmqtt_demoMQTT demo using the 3rd party wolfMQTT library
net/apps/wolfssl_tcp_clientDemo connecting to a Web server using TLS to encrypt the connection with wolfSSL
net/apps/wolfssl_tcp_serverWeb server demo accepting encrypted TLS connections using wolfSSL

Net Release v3.4.0 (July, 2019)

ADDITIONS AND UPDATES FOR 3.4.0:

  • New features

    • This release introduces initial support for wolfMQTT in the Harmony framework, including encryption support with wolfSSL.
    • The HTTP_NET demos have been updated to support encryption.
  • New Applications

The following table provides the list of the new applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
wolfmqtt_demoPIC32MZEF, SAME70wolfMQTT application demonstrates a simple MQTT application using the 3rd party wolfMQTT library
  • Updated Applications

The following table provides the list of the updated applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
berkeley_tcp_clientPIC32MZEF, PIC32MZDA, SAME54, SAME70, SAMV71TCP Client demo using BSD API
berkeley_tcp_serverPIC32MZEF, PIC32MZDA, SAME54, SAME70, SAMV71TCP Server demo using BSD API
berkeley_udp_clientPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Client demo using BSD API
berkeley_udp_relayPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Relay demo using BSD API
berkeley_udp_serverPIC32MZEF, PIC32MZDA , SAME54, SAME70, SAMV71UDP Server demo using BSD API
snmpv3_nvm_mpfsPIC32MZEF , SAME54, SAME70, SAMV71SNMPv3 demo with MPFS file system using NVM storage
snmpv3_sdcard_fatfsPIC32MZEF , SAME54, SAME70, SAMV71SNMPv3 demo with FAT FS file system using external SD card
tcpip_client_serverPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70Multi-threaded example with TCP and UDP server and client threads
tcpip_tcp_clientPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71TCP Client demo using Harmony native API
tcpip_tcp_client_serverPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71TCP Client and Server demo using Harmony native API
tcpip_tcp_serverPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71TCP Server demo using Harmony native API
tcpip_udp_clientPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71UDP Client demo using Harmony native API
tcpip_udp_client_serverPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71UDP Client and Server demo using Harmony native API
tcpip_udp_serverPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71UDP Server demo using Harmony native API
web_net_server_nvm_mpfsPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71Web server with MPFS file system using the NVM storage
web_net_server_qspi_mpfsSAMA5D2Web server with MPFS file system on the onboard QSPI Flash Memory
web_net_server_sdcard_fatfsPIC32MZDA, PIC32MZEF, SAMA5D2, SAME54, SAME70, SAMV71Web server with FAT FS file system on the external SD Card
web_server_nvm_mpfsPIC32MZEF, SAME54, SAME70, SAMV71Old style web server with MPFS file system using the NVM storage
web_server_sdcard_fatfsSAME54, SAME70, SAMV71Old style web server with FAT FS file system on the external SD card
  • New Third party adapters

The following table provides the list of new support for third part adapters:

ModuleThird Party
wolfMQTT NET glueGlue code for wolfMQTT support
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
telnet, iperf, tcpip_commandsUpdated the modules to work with the new version of the core command processor
SNTPFixed the missing entry for the time stamp in the _SNTP_DbgResError_Tbl debug table
NET_PRESUpdates for integration of wolfSSL
TCP/IP HelpersAdded MQTT ports to the TCP/IP stack tables
drv_gmacUpdate for GMAC RX buffer management
drv_gmacUpdated return value of DRV_GMAC_PacketTx
drv_gmacUpdated return value of DRV_GMAC_PacketTx
drv_gmacEnabled the GMAC TX interrupt

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need to use the following versions of the dependent modules:

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • MHC may hang when configuring NET_PRES Presentation Layer component.

    • Short-term work around is to save MHC state, close and reopen MHC.
  • Encryption support has been tested using wolfSSL v3.15.7-stable

    • Support for newer wolfSSL versions will be added in a future release
  • When regenerating a project that includes wolfSSL and crypto, MHC will try to include the HAVE_AES_ECB symbol in the configuration.h.

    • Do not include this symbol as the build will fail. Simply ignore the change.
  • HTTP_NET demos using encryption (wolfSSL) with FreeRTOS are not part of this release

    • There are some memory overwrite issues when the HTTP_NET + wolfSSL run in multi-threaded mode
    • This is currently under investigation
  • The SAME70 XULT board has some issues and detection of the PHY board may fail. This issue is under investigation.

    • For now the SAME70 projects are present in the repo just for reference and not for actual running demos.
    • For now the SAME70 projects are generated using the LAN8740 PHY instead of KSZ8061 which is the default PHY for this board.
  • The ICD4 loads the reset line of the SAM V71 Xplained Ultra board. When running demo projects using the V71, the ICD4 flex cable should be removed after programming to run the application.

  • Interactive help using the Show User Manual Entry in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the Configuring the Library section in the help documentation in the doc folder for this Harmony 3 module instead. Help is available in both CHM and PDF formats.

  • The SAM E70/V71/E54/A5D2 processors do not have a built in factory pre-programmed MAC address.

    • The XULT boards use the AT24MAC402 serial EEPROM for having an unique MAC address per board.
    • Currently the demo applications do not use the AT24MAC402 EEPROM for reading the MAC address. This will be added in a future release.
  • The SAME70 and SAMV71 TCPIP demos with SDCARD, won’t work with optimisation 0. Use optimization level 1.

  • SAMA5D2 projects known issues:

    • The SNMP protocol and corresponding demo applications is not be available.
    • IPv6 ULA generation is not available
    • ZCLL module is not supported
    • Crypto library is now supported on the SAMA5D2 processor. However the net_pres layer with wolfSSL encryption has not yet been fully tested for these projects. This will be done in a future release.
    • A workaround for the QSPI plib is in place for this release. When regenerating the code, the workaround must NOT be overwritten.
  • SDMMC driver may block inside an internal routine while using the HTTP server and locks up the whole application. No workaround exists.

  • EDBG programming of a hex file on the SAME54 XPRO board may fail.

  • There are some mandatory MISRA violations in some of the repo files. They will be fixed in some next release:

    • System: sys_debug.c, sys_command.c
    • TCP/IP: smtpc.c, ndp.c, custom_http_net_app.c, icmpv6.c,
  • Adding TCP/IP components to the project must be done using the TCP/IP Configurators in order to load the dependencies properly. Adding the TCP/IP components from the "Available Components", without using configurator, might cause build issues.

  • Similarly, remove the TCP/IP components by using the TCP/IP Configurator for the respective layer

  • Do not add the TCP/IP components to the project by using both the TCP/IP Configurator and manually adding from "Available Components".

  • Do not delete the TCP/IP Configurators from project graph.

  • Interactive help using the "Show User Manual Entry" in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the "Configuring the Library" section in the help documentation in the doc folder for this module instead. Help is available in both CHM and PDF formats.

  • The tcpip_client_server application does not currently have complete documentation. The commands to use this demonstration are provided in the run time help available as console commands. This will be added in a future release.

  • When the File System service is used in a demonstration application, make sure to set "Maximum Simultaneous File Access" to a number above 10. Especially the HTTP server needs to open multiple files simultaneously.

  • When the RTOS is enabled, make sure to include RTOS system API’s (like Time Delay functions) in application task to give other tasks the chance to execute. This can be achieved by enabling the "Use Task Delay" from Application Configuration -> RTOS Configuration.

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description.

FolderDescription
net/apps/berkeley_tcp_clientTCP Client demo using BSD API
net/apps/berkeley_tcp_serverTCP Server demo using BSD API
net/apps/berkeley_udp_clientUDP Client demo using BSD API
net/apps/berkeley_udp_relayUDP Relay demo using BSD API
net/apps/berkeley_udp_serverUDP Server demo using BSD API
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storage
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD card
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threads
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native API
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native API
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native API
net/apps/tcpip_udp_clientUDP Client demo using Harmony native API
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native API
net/apps/tcpip_udp_serverUDP Server demo using Harmony native API
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storage
net/apps/web_net_server_qspi_mpfsWeb server with MPFS file system on the onboard QSPI Flash Memory
net/apps/web_net_server_sdcard_fatfsWeb server with FAT FS file system on the external SD card
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storage
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD card

Net Release v3.3.0 (May, 2019)

ADDITIONS AND UPDATES FOR 3.3.0:

  • New part support -This release introduces initial support for PIC32MZEF and PIC32MZDA families of 32-bit microcontrollers.

  • Updated Applications

The following table provides the list of the updated applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
berkeley_tcp_clientPIC32MZEF, PIC32MZDATCP Client demo using BSD API
berkeley_tcp_serverPIC32MZEF, PIC32MZDATCP Server demo using BSD API
berkeley_udp_clientPIC32MZEF, PIC32MZDAUDP Client demo using BSD API
berkeley_udp_relayPIC32MZEF, PIC32MZDAUDP Relay demo using BSD API
berkeley_udp_serverPIC32MZEF, PIC32MZDAUDP Server demo using BSD API
snmpv3_nvm_mpfsPIC32MZEFSNMPv3 demo with MPFS file system using NVM storage
snmpv3_sdcard_fatfsPIC32MZEFSNMPv3 demo with FAT FS file system using external SD card
tcpip_client_serverPIC32MZEF, PIC32MZDAMulti-threaded example with TCP and UDP server and client threads
tcpip_tcp_clientPIC32MZEF, PIC32MZDATCP Client demo using Harmony native API
tcpip_tcp_client_serverPIC32MZEF, PIC32MZDATCP Client and Server demo using Harmony native API
tcpip_tcp_serverPIC32MZEF, PIC32MZDATCP Server demo using Harmony native API
tcpip_udp_clientPIC32MZEF, PIC32MZDAUDP Client demo using Harmony native API
tcpip_udp_client_serverPIC32MZEF, PIC32MZDAUDP Client and Server demo using Harmony native API
tcpip_udp_serverPIC32MZEF, PIC32MZDAUDP Server demo using Harmony native API
web_net_server_nvm_mpfsPIC32MZEF, PIC32MZDAWeb server with MPFS file system using the NVM storage
web_server_nvm_mpfsPIC32MZEFOld style web server with MPFS file system using the NVM storage
web_net_server_sdcard_fatfsPIC32MZEF, PIC32MZDAWeb server with FAT FS file system on the external SD Card
  • Updated Drivers

The following table provides the list of new support for MAC drivers:

DriverPlatform
drv_ethmac.c, drv_ethmac_lib.cPIC32MZEF, PIC32MZDA
  • Updated Utililties

The following table provides the list of updated utilities for the TCP/IP stack :

ModuleDescription
mpfs.jar- This tool updates and replaces the existent mpfs2.jar.
- The new MPFS utility version 3.3.3 is capable of parsing SSI directives.
- The utility is intended to be used with the HTTP_NET server.
- It generates the http_net_print.h and http_net_print.c files.
- HTTP_Net Application initialization and HTTP registration are now part of http_net_print.c file.
- The tool has been updated to disable the default compression of html files.
- When the application Custom Template is enabled, the Web pages are added to the project.
- The Source directory path is the source of the web page files.
- The Destination directory path is the location where the web page files will be copied.
- The Destination location is not currently configurable.
- The maximum number of supported web page files is currently 100.
- The NVM MPFS demos use a customized pre-build step to generate the mpfs_net_img.c file:
java -jar ../../../../utilities/mpfs_generator/mpfs.jar /c /z "snmp.bib" "../src/web_pages" "../src" "mpfs_net_img.c"
- If there is no JRE installed on the building machine, the project will not build. The pre-build step needs to be disabled manually
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
TCP/IP ManagerCreated function to update the default interface at run time after an interface is changed or brought down
TCP/IP Packet loggerImprovements to the packet logger. Now is part of the main source code.
HTTP_NETFixed an error in the upload state machine that was discarding the MPFS signature from the incoming stream
drv_extphy_smsc9303Added patch to eliminate leaks based on the customer suggestion.

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need the following to be installed:

  • MPLAB Harmony Configurator (MHC) v.3.2.0
  • Harmony mplabx_plugin repository, 3.2.0
  • Harmony bsp repository, 3.2.1
  • Harmony csp repository, 3.2.1
  • Harmony core repository, 3.2.1
  • Harmony dev_packs repository, 3.2.1
  • Harmony crypto repository, 3.2.1
  • CMSIS-FreeRTOS repository, 10.0.1 if building a FreeRTOS project (from www.github.com/arm-software/cmsis-freertos)

Development Kit Support

This release supports applications for the following development kits

Development Kits
PIC32MZEF Embedded Connectivity with FPU Starter Kit
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • For projects using the mpfs_img2.c and mpfs_img2_net.c files, these may be absent from the project after regeneration. The MPFS module needs to be removed and re-added to the project.

  • The SAME70 XULT board has some issues and detection of the PHY board may fail. This issue is under investigation.

    • For now the SAME70 projects are present in the repo just for reference and not for actual running demos.
    • For now the SAME70 projects are generated using the LAN8740 PHY instead of KSZ8061 which is the default PHY for this board.
  • The ICD4 loads the reset line of the SAM V71 Xplained Ultra board. When running demo projects using the V71, the ICD4 flex cable should be removed after programming to run the application.

  • Interactive help using the Show User Manual Entry in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the Configuring the Library section in the help documentation in the doc folder for this Harmony 3 module instead. Help is available in both CHM and PDF formats.

  • The SAM E70/V71/E54/A5D2 processors do not have a built in factory pre-programmed MAC address.

    • The XULT boards use the AT24MAC402 serial EEPROM for having an unique MAC address per board.
    • Currently the demo applications do not use the AT24MAC402 EEPROM for reading the MAC address. This will be added in a future release.
  • The SAME70 and SAMV71 TCPIP demos with SDCARD, won’t work with optimisation 0. Use optimization level 1.

  • SAMA5D2 projects known issues:

    • The SNMP protocol and corresponding demo applications is not be available.
    • IPv6 ULA generation is not available
    • ZCLL module is not supported
    • Crypto library is now supported on the SAMA5D2 processor. However the net_pres layer has not yet been fully tested for these projects. This will be done in a next release when wolfSSL support is added to the TCP/IP stack.
    • A workaround for the QSPI plib is in place for this release. When regenerating the code, the workaround must NOT be overwritten.
  • SDMMC driver may block inside an internal routine while using the HTTP server and locks up the whole application. No workaround exists.

  • The operation over the secure connections using wolfSSL has not been added to the net repo for this release.

    • There are 2 wolfSSL TCP demos in the crypto repo.
    • The web_net_server_nvm_mpfs demo does not currently support encrypted connections.
    • The wolfSSL third party package cannot be added to the application as an encryption provider.
  • EDBG programming of a hex file on the SAME54 XPRO board may fail.

  • There are some mandatory MISRA violations in some of the repo files. They will be fixed in the next release:

    • System: sys_debug.c, sys_command.c
    • TCP/IP: smtpc.c, ndp.c, custom_http_net_app.c, icmpv6.c,
  • Adding TCP/IP components to the project must be done using the TCP/IP Configurators in order to load the dependencies properly. Adding the TCP/IP components from the "Available Components", without using configurator, might cause build issues.

  • Similarly, remove the TCP/IP components by using the TCP/IP Configurator for the respective layer

  • Do not add the TCP/IP components to the project by using both the TCP/IP Configurator and manually adding from "Available Components".

  • Do not delete the TCP/IP Configurators from project graph.

  • When multiple modules depending on the "netPres" component are added to the project (like Berkeley, HTTP_NET, TELNET etc.), multiple 'netPres' nodes will be shown on TCP/IP STACK group box. But internally all these TCP/IP modules are using a single instance of the NET_PRES service. So only one instance of NET_PRES is needed.

  • Interactive help using the "Show User Manual Entry" in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the "Configuring the Library" section in the help documentation in the doc folder for this module instead. Help is available in both CHM and PDF formats.

  • The tcpip_client_server application does not currently have complete documentation. The commands to use this demonstration are provided in the run time help available as console commands. This will be added in a future release.

  • When the File System service is used in a demonstration application, make sure to set "Maximum Simultaneous File Access" to a number above 10. Especially the HTTP server needs to open multiple files simultaneously.

  • When the RTOS is enabled, make sure to include RTOS system API’s (like Time Delay functions) in application task to give other tasks the chance to execute. This can be achieved by enabling the "Use Task Delay" from Application Configuration -> RTOS Configuration.

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description, and the release type (Alpha, Beta, Production, or Vendor).

FolderDescription
net/apps/berkeley_tcp_clientTCP Client demo using BSD API
net/apps/berkeley_tcp_serverTCP Server demo using BSD API
net/apps/berkeley_udp_clientUDP Client demo using BSD API
net/apps/berkeley_udp_relayUDP Relay demo using BSD API
net/apps/berkeley_udp_serverUDP Server demo using BSD API
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storage
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD card
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threads
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native API
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native API
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native API
net/apps/tcpip_udp_clientUDP Client demo using Harmony native API
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native API
net/apps/tcpip_udp_serverUDP Server demo using Harmony native API
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storage
net/apps/web_net_server_qspi_mpfsWeb server with MPFS file system on the onboard QSPI Flash Memory
net/apps/web_net_server_sdcard_fatfsWeb server with FAT FS file system on the external SD card
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storage
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD card

Net Release v3.2.0 (March, 2019)

ADDITIONS AND UPDATES FOR 3.2.0:

  • New part support -This release introduces initial support for SAM E5x families of 32-bit microcontrollers and SAM A5D2 families of 32-bit MPUs.

  • New Applications

The following table provides the list of the new applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
web_net_server_qspi_mpfsSAMA5D2Web server with MPFS file system using the onboard QSPI Flash Memory
web_net_server_sdcard_fatfsSAMA5D2, SAME54, SAMV71, SAME70Web server with FAT FS file system on the external SD Card
  • Updated Applications

The following table provides the list of the updated applications including bare metal and FreeRTOS configurations:

ApplicationPlatformDescription
berkeley_tcp_clientSAME54, SAMV71, SAME70TCP Client demo using BSD API
berkeley_tcp_serverSAME54, SAMV71, SAME70TCP Server demo using BSD API
berkeley_udp_clientSAME54, SAMV71, SAME70UDP Client demo using BSD API
berkeley_udp_relaySAME54, SAMV71, SAME70UDP Relay demo using BSD API
berkeley_udp_serverSAME54, SAMV71, SAME70UDP Server demo using BSD API
snmpv3_nvm_mpfsSAME54, SAMV71, SAME70SNMPv3 demo with MPFS file system using NVM storage
snmpv3_sdcard_fatfsSAME54, SAMV71, SAME70SNMPv3 demo with FAT FS file system using external SD card
tcpip_client_serverSAMA5D2, SAME54, SAME70Multi-threaded example with TCP and UDP server and client threads
tcpip_tcp_clientSAMA5D2, SAME54, SAMV71, SAME70TCP Client demo using Harmony native API
tcpip_tcp_client_serverSAMA5D2, SAME54, SAMV71, SAME70TCP Client and Server demo using Harmony native API
tcpip_tcp_serverSAMA5D2, SAME54, SAMV71, SAME70TCP Server demo using Harmony native API
tcpip_udp_clientSAMA5D2, SAME54, SAMV71, SAME70UDP Client demo using Harmony native API
tcpip_udp_client_serverSAMA5D2, SAME54, SAMV71, SAME70UDP Client and Server demo using Harmony native API
tcpip_udp_serverSAMA5D2, SAME54, SAMV71, SAME70UDP Server demo using Harmony native API
web_net_server_nvm_mpfsSAME54, SAMV71, SAME70Web server with MPFS file system using the NVM storage
web_server_nvm_mpfsSAME54, SAMV71, SAME70Old style web server with MPFS file system using the NVM storage
web_server_sdcard_fatfsSAME54, SAMV71, SAME70Old style web server with FAT FS file system on the external SD card
  • Updated Drivers

The following table provides the list of new support for MAC drivers:

DriverPlatform
drv_gmac_lib_samA5D2SAMA5D2
drv_gmac_lib_samE5xSAME54
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
UDPUpdated the Disconnect to keep the remote port binding
TFTPFixed PUT command behavior during file upload
HTTP_NET, AnnounceRemoved the alloca usage
AllClean up code for removing IAR build errors

TESTED WITH:

Software Dependencies

Before using MPLAB Harmony Net, ensure that the following are installed:

In order to regenerate source code for any of the applications, you will also need the following to be installed:

  • MPLAB Harmony Configurator (MHC) v.3.2.0
  • Harmony mplabx_plugin repository, 3.2.0
  • Harmony bsp repository, 3.2.0
  • Harmony csp repository, 3.2.0
  • Harmony core repository, 3.2.0
  • Harmony dev_packs repository, 3.2.0
  • Harmony crypto repository, 3.2.0
  • CMSIS-FreeRTOS repository, 10.0.1 if building a FreeRTOS project (from www.github.com/arm-software/cmsis-freertos)

Development Kit Support

This release supports applications for the following development kits

Development Kits
SAM A5D2 Xplained Ultra Evaluation Kit
SAM E54 Xplained Pro Evaluation Kit
SAM E70 Xplained Ultra Evaluation Kit
SAM V71 Xplained Ultra Evaluation Kit

KNOWN ISSUES

The current known issues are as follows:

  • The SAME70 XULT board has some issues and detection of the PHY board may fail. This issue is under investigation.

    • For now the SAME70 projects are present in the repo just for reference and not for actual running demos.
    • For now the SAME70 projects are generated using the LAN8740 PHY.
  • The ICD4 loads the reset line of the SAM V71 Xplained Ultra board. When running demo projects using the V71, the ICD4 flex cable should be removed after programming to run the application.

  • Interactive help using the Show User Manual Entry in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the Configuring the Library section in the help documentation in the doc folder for this Harmony 3 module instead. Help is available in both CHM and PDF formats.

  • The SAME70 and SAMV71 TCPIP demos with SDCARD, won’t work with optimisation 0. Use optimization level 1.

  • SAMA5D2 projects known issues:

    • The SNMP protocol and corresponding demo applications is not be available.
    • IPv6 ULA generation is not available
    • ZCLL module is not supported
    • Crypto library is not supported
    • A workaround for the QSPI plib is in place for this release. When regenerating the code, the workaround must NOT be overwritten.
  • SDMMC driver may block inside an internal routine while using the HTTP server and locks up the whole application. No workaround exists.

  • The operation over the secure connections using wolfSSL has not been added to the net repo for this release.

    • There are 2 wolfSSL TCP demos in the crypto repo.
  • For projects using the mpfs_img2.c and mpfs_img2_net.c files, these may be absent from the project after regeneration. The MPFS module needs to be removed and re-added to the project.

  • EDBG programming of a hex file on the SAME54 XPRO board may fail.

  • There are some mandatory MISRA violations in some of the repo files. They will be fixed in the next release:

    • System: sys_debug.c, sys_command.c
    • TCP/IP: smtpc.c, ndp.c, custom_http_net_app.c, icmpv6.c,

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description, and the release type (Alpha, Beta, Production, or Vendor).

FolderDescriptionRelease Type
net/apps/berkeley_tcp_clientTCP Client demo using BSD APIBeta
net/apps/berkeley_tcp_serverTCP Server demo using BSD APIBeta
net/apps/berkeley_udp_clientUDP Client demo using BSD APIBeta
net/apps/berkeley_udp_relayUDP Relay demo using BSD APIBeta
net/apps/berkeley_udp_serverUDP Server demo using BSD APIBeta
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storageBeta
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD cardBeta
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threadsBeta
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native APIBeta
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native APIBeta
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native APIBeta
net/apps/tcpip_udp_clientUDP Client demo using Harmony native APIBeta
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native APIBeta
net/apps/tcpip_udp_serverUDP Server demo using Harmony native APIBeta
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storageBeta
net/apps/web_net_server_qspi_mpfsWeb server with MPFS file system on the onboard QSPI Flash MemoryBeta
net/apps/web_net_server_sdcard_fatfsWeb server with FAT FS file system on the external SD cardBeta
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storageBeta
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD cardBeta

Net Release v3.1.0 (December, 2018)

ADDITIONS AND UPDATES FOR 3.1.0:

  • Updated Applications

The following table provides the list of the updated applications:

ApplicationPlatformDescription
berkeley_tcp_clientSAMV71, SAME70TCP Client demo using BSD API
berkeley_tcp_serverSAMV71, SAME70TCP Server demo using BSD API
berkeley_udp_clientSAMV71, SAME70UDP Client demo using BSD API
berkeley_udp_relaySAMV71, SAME70UDP Relay demo using BSD API
berkeley_udp_serverSAMV71, SAME70UDP Server demo using BSD API
snmpv3_nvm_mpfsSAMV71, SAME70SNMPv3 demo with MPFS file system using NVM storage
snmpv3_sdcard_fatfsSAMV71, SAME70SNMPv3 demo with FAT FS file system using external SD card
tcpip_client_serverSAME70Multi-threaded example with TCP and UDP server and client threads
tcpip_tcp_clientSAMV71, SAME70TCP Client demo using Harmony native API
tcpip_tcp_client_serverSAMV71, SAME70TCP Client and Server demo using Harmony native API
tcpip_tcp_serverSAMV71, SAME70TCP Server demo using Harmony native API
tcpip_udp_clientSAMV71, SAME70UDP Client demo using Harmony native API
tcpip_udp_client_serverSAMV71, SAME70UDP Client and Server demo using Harmony native API
tcpip_udp_serverSAMV71, SAME70UDP Server demo using Harmony native API
web_net_server_nvm_mpfsSAME70Web server with MPFS file system using the NVM storage
web_server_nvm_mpfsSAMV71, SAME70Old style web server with MPFS file system using the NVM storage
web_server_sdcard_fatfsSAMV71, SAME70Old style web server with FAT FS file system on the external SD card
  • Updated Drivers

The following table provides the list of new support for MAC drivers:

DriverPlatform
drv_gmacSAME70, SAMV71
  • Bug Fixes

The following table provides the list of bug fixes in this release:

ModuleDescription
UDPFixed comments in the UDP header for TCPIP_UDP_OptionSet() not providing 100% compatibility with the BSD setsockopt().
UDPProvided better explanation for some of the UDP_MULTICAST_FLAGS flags.
HTTP_NETAdded HTTP_NET connection events: open, close, timeout
HTTP_NETUpdated the HTTP app with the new SMTPC module changes. Old SMTP module is obsolete now.
HTTP_NETAdded case-insensitive comparison for the HTTP headers. Added stricmp() helper.
HTTP_NETAdded file open/close events.
HTTP_NETFixed the legacy mechanism of using callback position. Cleared the callbackPos counter only when the dynamic variable print is called first time.
TelnetBetter processing of the telnet options.
TelnetImproved the telnet usage of the NET_PRES layer.
TCPIP ManagerUpdated the processing of the network interface flags to avoid the MAC Initialize flag to remain set if the network interface is stopped before completing initialization.
TCPIP ManagerFixed the selection of the DNS client as default only if the module is enabled.
TCPIP ManagerFixed the tcpip_heap_external semaphore delete not checking that it was successfully created.
mDNSFixed the use of the wrong field to detect an authoritative reply. The field "qr" was used instead of "aa" when deciding for an authoritative answer.
IPv6Fixed the routine converting a string to an IPv6 address.
TCPIP CommandsAdded missing Close() when MIIM operation failed.

TESTED WITH:

Software Requirements

Before using MPLAB Harmony Net, ensure that the following are installed:

  • MPLAB X IDE 5.10 or later
  • MPLAB XC32 C/C++ Compiler V2.15 or later
  • MPLAB Harmony Configurator 3.1.0
  • Harmony net repository, 3.1.0
  • Harmony bsp repository, 3.1.0
  • Harmony csp repository, 3.10.0
  • Harmony core repository, 3.1.0
  • Harmony dev_packs repository, 3.1.0
  • Harmony mhc repository, 3.1.0
  • Harmony mplabx_plugin repository, 3.1.0
  • CMSIS-FreeRTOS repository, 10.0.1 for building the FreeRTOS projects (from www.github.com/arm-software/cmsis-freertos)

KNOWN ISSUES

The current known issues are as follows:

  • Adding TCP/IP components to the project must be done using the TCP/IP Configurators in order to load the dependencies properly. Adding the TCP/IP components from the "Available Components", without using configurator, might cause build issues.

  • Similarly, remove the TCP/IP components by using the TCP/IP Configurator for the respective layer

  • Do not add the TCP/IP components to the project by using both the TCP/IP Configurator and manually adding from "Available Components".

  • Do not delete the TCP/IP Configurators from project graph.

  • When multiple modules depending on the "netPres" component are added to the project (like Berkeley, HTTP_NET, TELNET etc.), multiple 'netPres' nodes will be shown on TCP/IP STACK group box. But internally all these TCP/IP modules are using a single instance of the NET_PRES service. So only one instance of NET_PRES is needed.

  • Interactive help using the "Show User Manual Entry" in the Right-click menu for configuration options provided by this module is not yet available from within the MPLAB Harmony Configurator (MHC). Please see the "Configuring the Library" section in the help documentation in the doc folder for this module instead. Help is available in both CHM and PDF formats.

  • The web_net_server_nvm_mpfs demo does not currently support encrypted connections. The wolfSSL third party package cannot be added to the application as an encryption provider. This will be added in a future release.

  • The tcpip_client_server application does not currently have documentation. The commands to use this demonstration are provided in the run time help available as console commands. This will be added in a future release.

  • When the File System service is used in a demonstration application, make sure to set "Maximum Simultaneous File Access" to a number above 10. Especially the HTTP server needs to open multiple files simultaneously.

  • When the RTOS is enabled, make sure to include RTOS system API’s (like Time Delay functions) in application task to give other tasks the chance to execute. This can be achieved by enabling the "Use Task Delay" from Application Configuration -> RTOS Configuration.

RELEASE CONTENTS

This topic lists the contents of this release and identifies each module.

Description

This table lists the contents of this release, including a brief description, and the release type (Alpha, Beta, Production, or Vendor).

FolderDescriptionRelease Type
net/apps/tcpip_udp_clientUDP Client demo using Harmony native APIBeta
net/apps/tcpip_udp_client_serverUDP Client and Server demo using Harmony native APIBeta
net/apps/tcpip_udp_serverUDP Server demo using Harmony native APIBeta
net/apps/web_net_server_nvm_mpfsWeb server with MPFS file system using the NVM storageBeta
net/apps/web_server_nvm_mpfsOld style web server with MPFS file system using the NVM storageBeta
net/apps/web_server_sdcard_fatfsOld style web server with FAT FS file system on the external SD cardBeta
net/apps/berkeley_tcp_clientTCP Client demo using BSD APIBeta
net/apps/berkeley_tcp_serverTCP Server demo using BSD APIBeta
net/apps/berkeley_udp_clientUDP Client demo using BSD APIBeta
net/apps/berkeley_udp_relayUDP Relay demo using BSD APIBeta
net/apps/berkeley_udp_serverUDP Server demo using BSD APIBeta
net/apps/snmpv3_nvm_mpfsSNMPv3 demo with MPFS file system using NVM storageBeta
net/apps/snmpv3_sdcard_fatfsSNMPv3 demo with FAT FS file system using external SD cardBeta
net/apps/tcpip_tcp_clientTCP Client demo using Harmony native APIBeta
net/apps/tcpip_tcp_client_serverTCP Client and Server demo using Harmony native APIBeta
net/apps/tcpip_tcp_serverTCP Server demo using Harmony native APIBeta
net/apps/tcpip_client_serverMulti-threaded example with TCP and UDP server and client threadsBeta