MICROCHIP-logo

MICROCHIP Harmony Integrated Software Framework

MICROCHIP-Harmony-Integrated-Software-Framework-product-image

Specifications:

  • Product Name: MPLAB Harmony Integrated Software Framework
  • Version: v1.11
  • Release Date: April 2017

Product Information:
The MPLAB Harmony Integrated Software Framework v1.11 is a software framework designed to simplify and accelerate the development of embedded applications for Microchip microcontrollers. It provides a comprehensive set of libraries, drivers, and middleware to streamline the development process.

Product Usage Instructions

Features and Known Issues:

MPLAB Harmony Features:

  • Supports a wide range of Microchip microcontrollers
  • Comprehensive set of libraries and middleware
  • Easy configuration and setup

Known Issues:

  • C++ programming language not supported
  • Recommended -O1 optimization level for building projects with Harmony peripheral library
  • Uninstaller behavior regarding user-modified files

Release Information

Provides MPLAB Harmony release information, include release notes, release contents, release types, and explains the version numbering system. A PDF copy of the Release Notes is provided in the <install-dir>/doc folder of your MPLAB Harmony installation.

Release Notes
This topic provides the release notes for this version of MPLAB Harmony.

Description
MPLAB Harmony Version: v1.11 Release Date: April 2017

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

  • MPLAB X IDE 3.60
  • MPLAB XC32 C/C++ Compiler 1.43
  • MPLAB Harmony Configurator 1.11.xx

Updating to This Release of MPLAB Harmony
Updating to this release of MPLAB Harmony is relatively simple. For detailed instructions, please refer to Porting and Updating to MPLAB Harmony.

What is New and Known Issues
The following tables list the features that have been changed or added and any known issues that have been identified since the last release of MPLAB Harmony. Any known issues that have yet to be resolved were retained from the previous release.

MPLAB Harmony:

Feature Additions and Updates Known Issues
General MPLAB Harmony has not been tested with C++; therefore, support for this programming language is not supported.

The “-O1” optimization level is recommended when building any projects that include the MPLAB Harmony prebuilt binary (.a file) peripheral library. This is necessary so that the linker will remove code from unused sections (for peripheral library features that are not used). Alternately, you may select “Remove Unused Sections” in the General options for the xc32-ld (linker) properties dialog box.

The MPLAB Harmony uninstaller will delete all files installed by the installer, even if they were modified by the user. However, the uninstaller will not delete new files added by the user to the MPLAB Harmony installation folder.

The MPLAB Harmony Display Manager plug-in provides complete configuration and simulation support to the LCC generated driver, and also provides basic support for all other graphics controller drivers. Full configuration and simulation support for the other graphics controller drivers will be added in a future release of MPLAB Harmony.

Middleware and Libraries:

Feature Additions and Updates Known Issues
Bootloader Library The UDP bootloader does not compile for PIC32MZ devices when microMIPS is selected.
Crypto Library N/A Migrating projects that use the hardware Crypto library, and have multiple configurations, may run into a compile issue after regenerating code. MPLAB X IDE will show that the pic32mz-crypt.h and pic32mz-hash.c files are excluded from the configuration, even though it tried to add them. The compiler will generate errors, saying that certain Crypto functions cannot be referenced. To work around this issue, remove  both  files  (pic32mz-crypt.h and pic32mz-hash.c) from the project and use the MPLAB Harmony Configurator (MHC) to regenerate all configurations that use these files.
Decoder Libraries Due to memory requirements and the amount of available SRAM, some decoders cannot operate concurrently with other decoders. However, each decoder will operate individually in the universal_audio_decoders demonstration.
File System Found and fixed potential null pointer exception in the unmount function.
Graphics Libraries JPEG decoding does not support progressive scanned images.Some transparency-incorporated animated GIF images may demonstrate tearing.The generated LCCG driver supports display resolution up to WVGA or equivalent.
TCP/IP Stack SMTPC:
  • API to abort a message, which is useful when retries are needed is currently not available
  •  Multiple DNS addresses to provide a more reliable mail transmission is currently not available
  • Support for the optional mail header fields is currently not available
USB Device Library N/A The USB Device Stack has been tested in limited capacity with RTOS.While running the USB Device Stack on a PIC32MZ family device, the stack requires three seconds to initialize for PIC32MZ EC devices and three milliseconds for PIC32MZ EF devices.
USB Host Library Removed MHC support for USB Host Beta software. Support for USB Host Beta APIs will be removed in future releases. The following USB Host Stack functions are not implemented:
  •  USB_HOST_BusResume
  •  USB_HOST_DeviceSuspend
  • USB_HOST_DeviceResume

The Hub, Audio v1.0, and HID Host Client Drivers have been tested in limited capacity.The USB Host Stack has been tested in limited capacity with RTOS.Polled mode operation has not been tested.Attach/Detach behavior has been tested in a limited capacity.While running the USB Host Stack on a PIC32MZ family device, the stack requires three seconds to initialize for PIC32MZ EC devices and three milliseconds for PIC32MZ EF devices.The USB Host Layer does not perform overcurrent checking. This feature will be available in a future release of MPLAB Harmony.The USB Host Layer does not check for the Hub Tier Level. This feature will be available in a future release of MPLAB Harmony.The USB Host Layer will only enable the first configuration when there are multiple configurations. If there are no interface matches in the first configuration, this causes the device to be become inoperative. Multiple configuration enabling will be activated in a future release of the of MPLAB Harmony. The MSD Host Client Driver has been tested with a limited number of commercially available USB Flash drives.The MSD Host Client Driver and the USB Host Layer have not been tested for read/write throughput. This testing will be done in a future release of MPLAB Harmony.The MSD Host Client Driver and SCSI block driver can only be used with the File system if the file system Auto-Mount feature is enabled.The MSD Host Client Driver has not been tested with Multi-LUN Mass Storage Device and USB Card Readers.

USB Host Library (continued) The USB Host SCSI Block Driver, the CDC Client Driver, and the Audio Host Client Driver only support single-client operation. Multi-client operation will be enabled in a future release of MPLAB Harmony.

USB HID Host Client driver has not been tested with multiple usage devices. Sending of output or feature report has not been tested.

The USB Audio Host Client driver does not provide implementation for the following functions:

  • USB_HOST_AUDIO_V1_DeviceObjHandleGet
  • USB_HOST_AUDIO_V1_FeatureUnitChannelVolumeRan geGet
  • USB_HOST_AUDIO_V1_FeatureUnitChannelVolumeSub Range Numbers Get
  • USB_HOST_AUDIO_V1_StreamSamplingFrequencyGet
  •  USB_HOST_AUDIO_V1_TerminalIDGet

Device Drivers:

Feature Additions and Updates Known Issues
LCC . The MPLAB Harmony Graphics Composer (MHGC) is not capable of providing a palette table; therefore, users must supply a uint16_t array of 256 16 bpp RGB colors to the LCC Driver using the DRV_GFX_PalletteSet function. The content of this array will serve to map color indices to TFT display colors.

The DMA Trigger Source setting in MHC has changed. If your project’s setting is on 3, 5, 7 or 9, MHC will flag it as red. Please change to either 2, 4, 6, or 8. All the odd-numbered timers are removed from selection. While these timers are functional at default, only the even-numbered timers (2, 4, 6, 8) will accept changes in prescaler values.

I2C N/A I2C Driver Using the Peripheral and the Bit-banged Implementation:
  •  Has only been tested in a single master environment
  •  Does not support RTOS; therefore, it is not thread-safe when used in a RTOS environment
  • Has not been tested in a Polled environment
  • Operation in power-saving modes has not been tested
  • I2C Driver Using the Bit-banged Implementation:
  • Non-blocking and uses a Timer resource for performing I2C operations. This Timer resource cannot be used for any other Timer needs.
  •  The Timer Interrupt priority should be one of the highest priority interrupts in the application
  •  Testing of this implementation has been done only with a system clock of 200 MHz and a peripheral bus clock of 100 MHz for the Timer
  •  Can be configured to work only in Master mode
  •  Only available in the dynamic driver setting
  •  The baud rate is dependent on CPU utilization. It has been tested to run reliably up to 100 kHz.
  • Does not support PIC32MX family devices
  •  Only works on the SCL and SDA pins of the corresponding I2C peripheral
  •  Only works in Interrupt mode
MRF24WN Wi-Fi New    wdrvext_mx.a,   wdrvext_ec.a,   and wdrvext_mz.a library files.
S1D13517 The S1D13517 Driver does not support the getting of a pixel or array of pixels from the S1D13517 framebuffer and does not support font rendering when Anti-aliasing is enabled.
Secure Digital (SD) Card N/A The SD Card Driver has not been tested in a high frequency interrupt environment.
SPI N/A The SPI Slave mode with DMA is not operational. This issue will be corrected in a future release of MPLAB Harmony.
SPI Flash Flash features such as high-speed read, hold, and write-protect are not supported by the driver library.

Static implementation of the driver library is not available.

USB The USB Driver Library has been tested in limited capacity with RTOS.

While running the USB Driver Library on a PIC32MZ family device, the stack requires three seconds to initialize for PIC32MZ EC devices and three milliseconds for PIC32MZ EF devices.Some APIs for USB Host Driver Library may change in the next release.USB Host Driver Library Polled mode operation has not been tested.USB Host Driver Library Attach/Detach behavior has been tested in a limited capacity.

System Services:

Feature Additions and Updates Known Issues
DMA

Peripheral Libraries:

Feature Additions and Updates Known Issues
ADCHS N/A FIFO is not supported in this version of the peripheral library.
SQI N/A A SQI clock divider value higher than CLK_DIV_16 will not work. To achieve optimal SQI clock speeds, use a SQI clock divider value lower than CLK_DIV_16.

Note: This issue is applicable to any applications that use the SQI module.

Applications

Feature Additions and Updates Known Issues
Audio Demonstrations Changed in Universal_audio_decoders to limit directory depth in the file system. This will prevent an exception if that otherwise would occur beyond 6 sub-directory levels. usb_headset,     usb_microphone,    and                         usb_speaker Demonstrations:
  •   When switching between these applications, the Windows driver may become confused by the type of device that is connected. For example, audio streaming is prevented by the driver. If a condition like this occurs, do the following to remedy the issue:
    1. While the device is connected, uninstall the driver.
    2. A restart of the Windows operating system may also be required.
      universal_audio_decoder Demonstration:
  • The 270f512lpim_bt_audio_dk and pic32mz_da_sk_meb2 configurations do not support the display. The display may appear to be ON but is blank because the backlight is illuminated.
  • The 270f512lpim_bt_audio_dk configuration does not support the WMA and AAC decoders.
  • Volume control is only available on the bt_audio_dk and 270f512lpim_bt_audio_dk configurations
  • Minor audio glitches are present for 96 kHz WAVE audio files by default buffer size. As a workaround, eliminating glitches by using a larger buffer size.
  • Audio glitches may appear when playing high sampling rate AAC files. The higher the sampling rate, the more severe the glitch.
  • Some USB Flash drives may not work with this demonstration
  • Due to memory limitations, the Speex Decoder and the WMA Decoder cannot operate concurrently with other decoders audio_tone Demonstration:
  • The display is static
  • Switch debounce is not implemented usb_speaker Demonstration:
  • The left and right output channels are swapped for the pic32mz_ef_sk_meb2 configuration at the output connector. Note: This is an issue with the MEB II hardware and not the application software.
  • The mute feature (as controlled from the PC) does not function usb_headset:

The mute feature (as controlled from the PC) does not function.

mac_audio_hi_res Demonstration:

Muting the audio at the PC only works properly the first time

Bluetooth Demonstrations Fixed issues found in WVGA display on a2dp_avrcp demo. This is a premium demonstration. Graphics have been temporarily turned off/removed in all PIC32MZ DA configurations and will be made available in a future release
File     System Demonstrations LED_3, which is used to indicate demonstration success does not illuminate, which affects the following demonstrations:
  • sdcard_fat_single_disk (pic32mz_da_sk_adma configuration)
  • sdcard_msd_fat_multi_disk (pic32mz_da_sk_meb2 configuration)

As a work around, the user can place a breakpoint in the application code to see the status of the demonstrations.

Graphics Demonstrations Starter kit PKOB programming and debugging may produce the following error: The programmer could not be started: Failed to program the target device. If this message occur, repower the device and the application will start. If debugging is required, the suggested work around is to install the appropriate header onto the starter kit using MPLAB REAL ICE.

The following issues apply to the external_resources demonstration:

  •   Currently, JPEG decode support has been enabled for internal storage only
  •  During the demonstration, latency is observed in fetching the images from external off-chip memory, which causes slow population of the display while rendering the images on screen memory.
  •  A similar latency to the previous issue is also seen while displaying JPEG images on-screen due to the delay caused by JPEG run-time decoding
MEB II Demonstrations The segger_emwin demonstration application does not yet include touch input.
RTOS Demonstrations The SEGGER embOS Library with FPU support is required for PIC32MZ EF configuration and the user needs to explicitly include this. By default, the library without FPU support is included.
System    Service    Library Examples N/A The command_appio demonstration does not function using MPLAB X IDE v3.06, but is operational with v3.00.
TCP/IP         Wi-Fi

Demonstrations

N/A The tcpip_tcp_client demonstration using the ENC24xJ600 or the ENC28J60 configurations does not work properly if the SPI Driver enables DMA. Please disable the SPI DMA option for these configurations. This will be corrected in a future release of MPLAB Harmony.
Test Applications N/A The FreeRTOS configurations for use with the PIC32MZ EF Starter Kit have the floating-point library disabled in the project options.
USB Demonstrations The msd_basic Device demonstration application when built using PIC32MZ devices, requires that the SCSI Enquiry response data structure to be placed in RAM. Placing this data structure in program Flash memory causes the enquiry response to become corrupted. This issue will be corrected in a future release.The hid_basic_keyboard Host demonstration captures keystrokes from A-Z, a-z, 0-9, Shift and CAPS LOCK key only. The keyboard LED glow functionality and support for other key combinations will be updated in a future release.In the audio_speaker Host demonstration, Plug and Play may not work for the pic32mz_ef_sk_int_dyn and pic32mx_usb_sk2_int_dyn configurations. This issue will be corrected in a future release.In the hub_msd Host demonstration application, Hub plug and play detection may occasionally fail. However, if the hub is plugged in before the PIC32MZ device is released from reset, the demonstration application operates as expected. This issue is under investigation and a correction will be available in a future release of MPLAB Harmony.It is recommended to use a self-powered hub while attempting to use the available hub demonstration applications. The VBUS supply regulator on the starter kit may not be able to meet the current requirements of a bus-powered hub, which would then cause unpredictable demonstration application behavior.

Build Framework:

Feature Additions and Updates Known Issues
Bluetooth Stack Library N/A
Math Libraries DSP Fixed-Point Math Library:
  •  Optimized only for PIC32MZ devices with microAptiv™ core features, which utilize DSP ASE
  •  Will not function with the _Fract data type LibQ Fixed-Point Math Library:
  • Optimized for PIC32MZ devices with microAptiv core features
  •  The _fast functions have reduced precision

 Utilities:

Feature Additions and Updates Known Issues
MPLAB                            Harmony Configurator (MHC) N/A
  • The MHC does not support changing the relative path from the project to the source files within the MPLAB Harmony installation, once the project has been created
  • When viewing the MPLAB Harmony Help in the MHC, the Index is accessible, but is not functional. This is due to a limitation in the browser that is utilized by MHC. As a work around, the Index is accessible and functional when the HTML Help is opened in an external Web browser.
  •  A tab character after “—endhelp—” in a .hconfig file may cause the next configuration symbol to be skipped

Third-Party Software:

Feature Additions and Updates Known Issues
SEGGER emWin Graphics Library N/A Only the LCC display controller is supported. Support for other display controllers is not available in this release.

An API to retrieve the Dialog widget handle is not available in this release.

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).

Middleware and Libraries

<install-dir>/framework/ Description Release Type
bluetooth/cdbt Bluetooth Stack Library (Basic) Production
bluetooth/premium/audio/cdbt

bluetooth/premium/audio/decoder/sbc

Bluetooth Audio Stack Library (Premium)

SBC Decoder Library (Premium)

Production

Production

bootloader Bootloader Library Production
classb Class B Library Production
crypto Microchip Cryptographic Library Production
decoder/bmp/BmpDecoder decoder/bmp/GifDecoder decoder/bmp/JpegDecoder decoder/audio_decoders/decoder_opus decoder/speex decoder/premium/decoder_aac decoder/premium/decoder_mp3
decoder/premium/decoder_wma
BMP Decoder Library
GIF Decoder Library
JPEG Decoder Library
Opus Decoder Library
Speex Decoder Library
AAC Decoder Library
(Premium) MP3 Decoder Library (Premium)
WMA Decoder Library (Premium)
Beta
Beta
Beta
Beta
Beta
Beta Beta
Beta
gfx Graphics Library Production
math/dsp DSP Fixed-Point Math Library API header for PIC32MZ devices Production
math/libq LibQ Fixed-Point Math Library API header for PIC32MZ devices Production
net/pres MPLAB Harmony Network Presentation Layer Beta
test Test Harness Library Production
tcpip TCP/IP Network Stack Production
usb USB Device Stack

USB Host Stack

Production

Beta

Device Drivers:

<install-dir>/framework/driver/ Description Release Type
adc Analog-to-Digital Converter (ADC) Driver

Dynamic Implementation Static Implementation

 Beta
Beta
camera/ovm7690 OVM7690 Camera Driver

Dynamic Implementation only

Beta
can Controller Area Network (CAN) Driver

Static Implementation only

 

Beta

cmp Comparator Driver

Static Implementation only

Beta
codec/ak4384

 

 

codec/ak4642

 

 

codec/ak4953

 

 

codec/ak7755

AK4384 Codec Driver

Dynamic Implementation only

 

AK4642 Codec Driver

Dynamic Implementation only

 

AK4953 Codec Driver

Dynamic Implementation only

 

AK7755 Codec Driver

Dynamic Implementation only

 

Production

 

 

Production

 

 

Production

 

 

Production

cpld CPLD XC2C64A Driver

Static Implementation only

 

Production

enc28j60 ENC28J60 Driver Library

Dynamic Implementation only

Beta
encx24j600 ENCx24J600 Driver Library

Dynamic Implementation only

 

Beta

ethmac Ethernet Media Access Controller (MAC) Driver

Dynamic Implementation only

 

Production

ethphy Ethernet Physical Interface (PHY) Driver

Dynamic Implementation only

 

Production

flash Flash Driver

Static Implementation only

 

Beta

gfx/controller/lcc Low-Cost Controllerless (LCC) Graphics Driver

Dynamic Implementation only

 

Production

gfx/controller/otm2201a OTM2201a LCD Controller Driver

Dynamic Implementation only

 

Production

gfx/controller/s1d13517 Epson S1D13517 LCD Controller Driver

Dynamic Implementation only

 

Production

gfx/controller/ssd1289 Solomon Systech SSD1289 Controller Driver

Dynamic Implementation only

Production
gfx/controller/ssd1926 Solomon Systech SSD1926 Controller Driver

Dynamic Implementation only

 

Production

gfx/controller/tft002 TFT002 Graphics Driver

Dynamic Implementation only

 

Production

i2c Inter-Integrated Circuit (I2C) Driver

Dynamic Implementation Static Implementation

 

Alpha Alpha

i2s Inter-IC Sound (I2S) Driver

Dynamic Implementation only

 

Beta

ic Input Capture Driver

Static Implementation only

 

Beta

nvm Non-Volatile Memory (NVM) Driver

Dynamic Implementation Static Implementation

 

Beta Beta

oc Output Compare Driver

Static Implementation only

 

Beta

pmp Parallel Master Port (PMP) Driver

Dynamic Implementation Static Implementation

 

Production Beta

rtcc Real-Time Clock and Calendar (RTCC) Driver

Static Implementation only

 

Beta

sdcard SD Card Driver (client of SPI Driver)

Dynamic Implementation only

 

Beta

spi Serial Peripheral Interface (SPI) Driver

Dynamic Implementation Static Implementation

 Production Beta
 

spi_flash/sst25vf016b spi_flash/sst25vf020b spi_flash/sst25vf064c spi_flash/sst25

SPI Flash Drivers

Dynamic Implementation only
Dynamic Implementation only
Dynamic Implementation only
Dynamic Implementation only

 

Alpha
Alpha
Alpha
Aplha

tmr Timer Driver

Dynamic Implementation Static Implementation

 Production Beta
touch/adc10bit

 

 

touch/ar1021

 

 

touch/mtch6301

 

 

touch/mtch6303

ADC 10-bit Touch Driver
Dynamic Implementation only AR1021 Touch Driver
Dynamic Implementation only MTCH6301 Touch Driver
Dynamic Implementation only MTCH6303 Touch Driver
Static Implementation only
 Beta

Beta

 

Beta

 

 

Beta

usart Universal Synchronous/Asynchronous Receiver/Transmitter (USART) Driver

Dynamic Implementation Static Implementation

 Production

Beta

usbfs

 

usbhs

PIC32MX Universal Serial Bus (USB) Controller Driver (USB Device)
Dynamic Implementation onlyPIC32MZ Universal Serial Bus (USB) Controller Driver (USB Device)
Dynamic Implementation only
Production

Production

usbfs

 

usbhs

PIC32MX Universal Serial Bus (USB) Controller Driver (USB Host)

Dynamic Implementation only

PIC32MZ Universal Serial Bus (USB) Controller Driver (USB Host)

Dynamic Implementation only

Beta

Beta

wifi/mrf24w

 

wifi/mrf24wn

Wi-Fi Driver for the MRF24WG controller
Dynamic Implementation onlyWi-Fi Driver for the MRF24WN controller
Dynamic Implementation only
Production

 

Production

System Services

<install-dir>/framework/system/ Description Release Type
clk Clock System Service Library

Dynamic Implementation Static Implementation

 Production

Production

command Command Processor System Service Library

Dynamic Implementation only

 

Production

common Common System Service Library Beta
console Console System Service Library

Dynamic Implementation Static Implementation

 Beta

Alpha

debug Debug System Service Library

Dynamic Implementation only

 

Beta

devcon Device Control System Service Library

Dynamic Implementation only

 

Production

dma Direct Memory Access System Service Library

Dynamic Implementation

 

Production

fs File System Service Library

Dynamic Implementation only

 

Production

int Interrupt System Service Library

Static Implementation only

 

Production

memory Memory System Service Library

Static Implementation only

 

Beta

msg Messaging System Service Library

Dynamic Implementation only

 

Beta

ports Ports System Service Library

Static Implementation only

 

Production

random Random Number Generator System Service Library

Static Implementation only

 

Production

reset Reset System Service Library

Static Implementation only

 

Beta

tmr Timer System Service Library

Dynamic Implementation only

 

Beta

touch Touch System Service Library

Dynamic Implementation only

 

Beta

wdt Watchdog Timer System Service Library

Static Implementation only

 

Beta

Peripheral Libraries:

<install-dir>/framework/ Description Release Type
peripheral Peripheral     Library     Source    Code     for    all   Supported        PIC32 Microcontrollers Production
PIC32MX1XX/2XX 28/36/44-pin Family Production
PIC32MX1XX/2XX/5XX 64/100-pin Family Production
PIC32MX320/340/360/420/440/460 Family Production
PIC32MX330/350/370/430/450/470 Family Production
PIC32MX5XX/6XX/7XX Family Production
PIC32MZ Embedded Connectivity (EC) Family Production
PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Family Production

Operating System Abstraction Layer (OSAL):

<install-dir>/framework/ Description Release Type
osal Operating System Abstraction Layer (OSAL) Production

 Board Support Packages (BSP):

<install-dir>/bsp/ Description Release Type
bt_audio_dk BSP for the PIC32 Bluetooth Audio Development Kit. Production
chipkit_wf32 BSP for the chipKIT™ WF32™ Wi-Fi Development Board. Production
chipkit_wifire BSP for the chipKIT™ Wi-FIRE Development Board. Production
pic32mx_125_sk BSP for the PIC32MX1/2/5 Starter Kit. Production
pic32mx_125_sk+lcc_pictail+qvga BSP for the Low-Cost Controllerless (LCC) Graphics PICtail Plus Daughter Board with the Graphics Display Truly 3.2″ 320×240 Board connected to the PIC32MX1/2/5 Starter Kit. Production
pic32mx_125_sk+meb BSP for the PIC32MX1/2/5 Starter Kit connected to the Multimedia Expansion Board (MEB). Production
pic32mx_bt_sk BSP for the PIC32 Bluetooth Starter Kit. Production
pic32mx_eth_sk BSP for the PIC32 Ethernet Starter Kit. Production
pic32mx_eth_sk2 BSP for the PIC32 Ethernet Starter Kit II. Production
pic32mx_pcap_db BSP for the PIC32 GUI Development Board with Projected Capacitive Touch. Production
pic32mx_usb_digital_audio_ab BSP for the PIC32 USB Audio Accessory Board Production
pic32mx_usb_sk2 BSP the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+lcc_pictail+qvga BSP for the Low-Cost Controllerless (LCC) Graphics PICtail Plus Daughter Board with the Graphics Display Truly 3.2″ 320×240 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+lcc_pictail+wqvga BSP for the Low-Cost Controllerless (LCC) Graphics PICtail Plus Daughter Board with the Graphics Display Powertip 4.3″ 480×272 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+meb BSP for the Multimedia Expansion Board (MEB) connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+s1d_pictail+vga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Truly 5.7″ 640×480 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+s1d_pictail+wqvga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Power tip 4.3″ 480×272 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+s1d_pictail+wvga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with Graphics Display Truly 7″ 800×400 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk2+ssd_pictail+qvga BSP for the Graphics LCD Controller PICtail Plus SSD1926 Daughter Board with Graphics Display Truly 3.2″ 320×240 Board connected to the PIC32 USB Starter Kit II. Production
pic32mx_usb_sk3 BSP for the PIC32 USB Starter Kit III. Production
pic32mx270f512l_pim+bt_audio_dk BSP for the PIC32MX270F512L Plug-in Module (PIM) connected to the PIC32 Bluetooth Audio Development Kit. Production
pic32mx460_pim+e16 BSP for the PIC32MX460F512L Plug-in Module (PIM) connected to the Explorer 16 Development Board. Production
pic32mx470_pim+e16 BSP for the PIC32MX450/470F512L Plug-in Module (PIM) connected to the Explorer 16 Development Board. Production
pic32mx795_pim+e16 BSP for the PIC32MX795F512L Plug-in Module (PIM) connected to the Explorer 16 Development Board. Production
pic32mz_ec_pim+bt_audio_dk BSP for the PIC32MZ2048ECH144 Audio Plug-in Module (PIM) connected to the PIC32 Bluetooth Audio Development Kit. Production
pic32mz_ec_pim+e16 BSP for the PIC32MZ2048ECH100 Plug-in Module (PIM) connected to the Explorer 16 Development Board. Production
pic32mz_ec_sk BSP for the PIC32MZ Embedded Connectivity (EC) Starter Kit. Production
pic32mz_ec_sk+meb2 BSP for the Multimedia Expansion Board II (MEB II) connected to the PIC32MZ Embedded Connectivity (EC) Starter Kit. Production
pic32mz_ec_sk+meb2+wvga BSP for the Multimedia Expansion Board II (MEB II) with the 5″ WVGA PCAP Display Board (see Note) connected to the PIC32MZ Embedded Connectivity (EC) Starter Kit.

Note: Please contact your local Microchip Sales Office for information on obtaining the 5″ WVGA PCAP Display Board.

Production
pic32mz_ec_sk+s1d_pictail+vga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Truly 5.7″ 640×480 Board connected to the PIC32MZ Embedded Connectivity (EC) Starter Kit. Production
pic32mz_ec_sk+s1d_pictail+wqvga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Powertip 4.3″ 480×272 Board connected to the PIC32MZ Embedded Connectivity (EC) Starter Kit. Production
pic32mz_ec_sk+s1d_pictail+wvga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the 5″ WVGA PCAP Display Board (see Note) connected to the PIC32MZ Embedded Connectivity with Floating Point Unit (EC) Starter Kit.

Note: Please contact your local Microchip Sales Office for information on obtaining the 5″ WVGA PCAP Display Board.

Production
pic32mz_ef_pim+bt_audio_dk BSP for the PIC32MZ2048EFH144 Audio Plug-in Module (PIM) connected to the PIC32 Bluetooth Audio Development Kit. Production
pic32mz_ef_pim+e16 BSP for the PIC32MZ2048EFH100 Plug-in Module (PIM) connected to the Explorer 16 Development Board. Production
pic32mz_ef_sk BSP for the PIC32MZ Embedded Connectivity with Floating Point (EF) Starter Kit. Production
pic32mz_ef_sk+meb2 BSP for the Multimedia Expansion Board II (MEB II) connected to the PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Starter Kit. Production
pic32mz_ef_sk+meb2+wvga BSP for the Multimedia Expansion Board II (MEB II) with the 5″ WVGA PCAP Display Board (see Note) connected to the PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Starter Kit.

Note: Please contact your local Microchip Sales Office for information on obtaining the 5″ WVGA PCAP Display Board.

Production
pic32mz_ef_sk+s1d_pictail+vga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Truly 5.7″ 640×480 Board connected to the PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Starter Kit. Production
pic32mz_ef_sk+s1d_pictail+wqvga BSP for the Graphics Controller PICtail Plus Epson S1D13517 Daughter Board with the Graphics Display Powertip 4.3″ 480×272 Board connected to the PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Starter Kit. Production
wifi_g_db BSP for the Wi-Fi G Demo Board. Production

Audio Applications:

<install-dir>/apps/audio/ Description Release Type
audio_microphone_loopback Audio Microphone Loopback Demonstration Production
audio_tone Audio Tone Demonstration Production
mac_audio_hi_res Hi-resolution Audio Demonstration Production
sdcard_usb_audio USB Audio SD Card Demonstration Beta
universal_audio_decoders Universal Audio Decoder Demonstration Production
usb_headset USB Audio Headset Demonstration Production
usb_microphone USB Audio Microphone Demonstration Production
usb_speaker USB Audio Speaker Demonstration Production

Bluetooth Applications:

<install-dir>/apps/bluetooth/ Description Release Type
data/data_basic Bluetooth® Basic Data Demonstration Production
data/data_temp_sens_rgb Bluetooth Temperature Sensor and RGB Data Demonstration Production
premium/audio/a2dp_avrcp Bluetooth Premium Audio Demonstration Production

Bootloader Applications:

<install-dir>/apps/bootloader/ Description Release Type
basic Basic Bootloader Demonstration Production
LiveUpdate Live Update Demonstration Production

Class B Applications:

<install-dir>/apps/class b/ Description Release Type
ClassB Demo Class B Library Demonstration Production

Cryptographic Applications:

<install-dir>/apps/crypto/ Description Release Type
encrypt_decrypt Crypto Peripheral Library MD5 Encrypt/Decrypt Demonstration Production
large_hash Crypto Peripheral Library Hash Demonstration Production

Driver Applications:

<install-dir>/apps/driver/ Description Release Type
i2c/i2c_rtcc I2C RTCC Demonstration Production
nvm/nvm_read_write NVM Demonstration Production
spi/serial_eeprom SPI Demonstration Production
spi/spi_loopback SPI Demonstration Production
spi_flash/sst25vf020b SPI Flash SST25VF020B Device Demonstration Production
usart/usart_echo USART Demonstration Production
usart/usart_loopback USART Loopback Demonstration Production

 Example Applications:

<install-dir>/apps/examples/ Description Release Type
my_first_app MPLAB Harmony Tutorial Example Solution N/A
peripheral MPLAB Harmony Compliant Peripheral Library Examples Production
system MPLAB Harmony Compliant System Service Library Examples Production

 External Memory Programmer Applications:

<install-dir>/apps/programmer/ Description Release Type
external_flash External Flash Bootloader Demonstration Production
sqi_flash External Memory Programmer SQI Flash Demonstration Production

 File System Applications:

<install-dir>/apps/fs/ Description Release Type
nvm_fat_single_disk Single-disk Non-Volatile Memory FAT FS Demonstration Production
nvm_mpfs_single_disk Single-disk Non-Volatile Memory MPFS Demonstration Production
nvm_sdcard_fat_mpfs_multi_disk Multi-disk Non-Volatile Memory FAT FS MPFS Demonstration Production
nvm_sdcard_fat_multi_disk Multi-disk Non-Volatile Memory FAT FS Demonstration Production
sdcard_fat_single_disk Single-disk SD Card FAT FS Demonstration Production
sdcard_msd_fat_multi_disk Multi-disk SD Card MSD FAT FS Demonstration Production
sst25_fat SST25 Flash FAT FS Demonstration Alpha

Graphics Applications:

<install-dir>/apps/gfx/ Description Release Type
basic_image_motion Basic Image Motion Graphics Library Demonstration Production
emwin_quickstart SEGGER emWin Quick Start Demonstration Production
external_resources Stored Graphics Resources External Memory Access Demonstration Production
graphics_showcase Graphics Low-Cost Controllerless (LCC) WVGA Demonstration Production
lcc Low-Cost Controllerless (LCC) Graphics Demonstration Production
media_image_viewer Graphics Media Image Viewer Demonstration Production
object Graphics Object Layer Demonstration Production
primitive Graphics Primitives Layer Demonstration Production
resistive_touch_calibrate Resistive Touch Calibration Demonstration Production
s1d13517 Epson S1D13517 LCD Controller Demonstration Production
ssd1926 Solomon Systech SSD1926 Controller Demonstration Production

 Multimedia Expansion Board II (MEB II) Applications:

<install-dir>/apps/meb_ii/ Description Release Type
gfx_camera Graphics Camera Demonstration Production
gfx_cdc_com_port_single Combined Graphics and USB CDC Demonstration Production
gfx_photo_frame Graphics Photo Frame Demonstration Production
gfx_web_server_nvm_mpfs Combined Graphics and TCP/IP Web Server Demonstration Production
emwin SEGGER emWin® Capabilities on MEB II Demonstration Beta

RTOS Applications:

<install-dir>/apps/rtos/ Description Release Type
embos SEGGER embOS® Demonstrations Production
freertos FreeRTOS™ Demonstrations Production
openrtos OPENRTOS Demonstrations Production
threadx Express Logic ThreadX Demonstrations Production
uC_OS_II Micriµm® µC/OS-II™ Demonstrations Beta
uC_OS_III Micriµm® µC/OS-III™ Demonstrations Production

TCP/IP Applications:

<install-dir>/apps/tcpip/ Description Release Type
berkeley_tcp_client Berkeley TCP/IP Client Demonstration Production
berkeley_tcp_server Berkeley TCP/IP Server Demonstration Production
berkeley_udp_client Berkeley TCP/IP UDP Client Demonstration Production
berkeley_udp_relay Berkeley TCP/IP UDP Relay Demonstration Production
berkeley_udp_server Berkeley TCP/IP UDP Server Demonstration Production
wolfssl_tcp_client wolfSSL TCP/IP TCP Client Demonstration Production
wolfssl_tcp_server wolfSSL TCP/IP TCP Server Demonstration Production
snmpv3_nvm_mpfs SNMPv3 Non-Volatile Memory Microchip Proprietary File System Demonstration Production
snmpv3_sdcard_fatfs SNMPv3 Non-Volatile Memory SD Card FAT File System Demonstration Production
tcpip_tcp_client TCP/IP TCP Client Demonstration Production
tcpip_tcp_client_server TCP/IP TCP Client Server Demonstration Production
tcpip_tcp_server TCP/IP TCP Server Demonstration Production
tcpip_udp_client TCP/IP UDP Client Demonstration Production
tcpip_udp_client_server TCP/IP UDP Client Server Demonstration Production
tcpip_udp_server TCP/IP UDP Server Demonstration Production
web_server_nvm_mpfs Non-Volatile Memory Microchip Proprietary File System Web Server Demonstration Production
web_server_sdcard_fatfs SD Card FAT File System Web Server Demonstration Production
wifi_easy_configuration Wi-Fi® EasyConf Demonstration Production
wifi_g_demo Wi-Fi G Demonstration Production
wifi_wolfssl_tcp_client Wi-Fi wolfSSL TCP/IP Client Demonstration Production
wifi_wolfssl_tcp_server Wi-Fi wolfSSL TCP/IP Server Demonstration Production
wolfssl_tcp_client wolfSSL TCP/IP Client Demonstration Production
wolfssl_tcp_server wolfSSL TCP/IP Server Demonstration Production

Test Applications:

<install-dir>/apps/meb_ii/ Description Release Type
test_sample MPLAB Harmony Test Sample Application Alpha

 USB Device Applications:

<install-dir>/apps/usb/device/ Description Release Type
cdc_com_port_dual CDC Dual Serial COM Ports Emulation Demonstration Production
cdc_com_port_single CDC Single Serial COM Port Emulation Demonstration Production
cdc_msd_basic CDC Mass Storage Device (MSD) Demonstration Production
cdc_serial_emulator CDC Serial Emulation Demonstration Production
cdc_serial_emulator_msd CDC Serial Emulation MSD Demonstration Production
hid_basic Basic USB Human Interface Device (HID) Demonstration Production
hid_joystick USB HID Class Joystick Device Demonstration Production
hid_keyboard USB HID Class Keyboard Device Demonstration Production
hid_mouse USB HID Class Mouse Device Demonstration Production
hid_msd_basic USB HID Class MSD Demonstration Production
msd_basic USB MSD Demonstration Production
msd_fs_spiflash USB MSD SPI Flash File System Demonstration Production
msd_sdcard USB MSD SD Card Demonstration Production
vendor USB Vendor (i.e., Generic) Demonstration Production

 USB Host Applications:

<install-dir>/apps/usb/host/ Description Release Type
audio_speaker USB Audio v1.0 Host Class Driver Demonstration Production
cdc_basic USB CDC Basic Demonstration Production
cdc_msd USB CDC MSD Basic Demonstration Production
hid_basic_keyboard USB HID Host Keyboard Demonstration Production
hid_basic_mouse USB HID Host Mouse Demonstration Production
hub_cdc_hid USB HID CDC Hub Demonstration Production
hub_msd USB MSD Hub Host Demonstration Production
msd_basic USB MSD Host Simple Thumb Drive Demonstration Production

Prebuilt Binaries:

<install-dir>/bin/framework Description Release Type
bluetooth Prebuilt PIC32 Bluetooth Stack Libraries Production
bluetooth/premium/audio Prebuilt PIC32 Bluetooth Audio Stack Libraries (Premium) Production
decoder/premium/aac_microaptiv Prebuilt AAC Decoder Library for PIC32MZ Devices with microAptiv Core Features (Premium) Beta
decoder/premium/aac_pic32mx Prebuilt AAC Decoder Library for PIC32MX Devices (Premium) Beta
decoder/premium/mp3_microaptiv Prebuilt MP3 Decoder Library for PIC32MZ Devices with microAptiv Core Features (Premium) Production
decoder/premium/mp3_pic32mx Prebuilt MP3 Decoder Library for PIC32MX Devices (Premium) Production
decoder/premium/wma_microaptiv Prebuilt WMA Decoder Library for PIC32MZ Devices with microAptiv Core Features (Premium) Beta
decoder/premium/wma_pic32mx Prebuilt WMA Decoder Library for PIC32MX Devices (Premium) Beta
math/dsp Prebuilt DSP Fixed-Point Math Libraries for PIC32MZ Devices Production
math/libq Prebuilt LibQ Fixed-Point Math Libraries for PIC32MZ Devices Production
math/libq/libq_c Prebuilt Math library with C-implementations compatible with both Pic32MX and Pic32MZ devices. (NOTE: These routines are not compatible with the functions of the libq library) Beta
peripheral Prebuilt Peripheral Libraries Production/ Beta

 Build Framework:

<install-dir>/build/framework/ Description Release Type
math/libq LibQ Library Build Project Production
math/libq LibQ_C Library Build Project Alpha
peripheral Peripheral Library Build Project Production

 Utilities:

<install-dir>/utilities/ Description Release Type
mhc/plugins/displaymanager/displaymanager.jar MPLAB Harmony Display Manager Plug-in Beta
mhc/com-microchip-mplab-modules-mhc.nbm MPLAB Harmony Configurator (MHC) Plug-in

MPLAB Harmony Graphics Composer (included in the MHC plug-in)

Production

Beta

mib2bib/mib2bib.jar Compiled Custom Microchip MIB script (snmp.mib) to generate snmp.bib and mib.h Production
mpfs_generator/mpfs2.jar TCP/IP MPFS File Generator and Upload Utility Production
segger/emwin SEGGER emWin utilities used by MPLAB Harmony emWin demonstration applications Vendor
tcpip_discoverer/tcpip_discoverer.jar TCP/IP Microchip Node Discoverer Utility Production

 Third-Party Software:

<install-dir>/third_party/ Description Release Type
decoder Decoder Library Source Distribution Vendor
gfx/emwin SEGGER emWin® Graphics Library Distribution Vendor
rtos/embOS SEGGER embOS® Distribution Vendor
rtos/FreeRTOS FreeRTOS Source Distribution with Support for PIC32MZ Devices Vendor
rtos/MicriumOSII Micriµm® µC/OS-II™ Distribution Vendor
rtos/MicriumOSIII Micriµm® µC/OS-III™ Distribution Vendor
rtos/OpenRTOS OPENRTOS Source Distribution with Support for PIC32MZ Devices Vendor
rtos/ThreadX Express Logic ThreadX Distribution Vendor
segger/emwin SEGGER emWin® Pro Distribution Vendor
tcpip/wolfssl wolfSSL (formerly CyaSSL) Embedded SSL Library Open Source-based Demonstration Vendor
tcpip/iniche InterNiche Library Distribution Vendor

 Documentation:

<install-dir>/doc/ Description Release Type
harmony_help.pdf MPLAB Harmony Help in Portable Document Format (PDF) Production
harmony_help.chm MPLAB Harmony Help in Compiled Help (CHM) format Production
html/index.html MPLAB Harmony Help in HTML format Production
harmony_compatibility_worksheet.pdf PDF form for use in determining the level of MPLAB Harmony compatibility and to capture any exceptions or restrictions to the compatibility guidelines Production
harmony_release_brief_v1.11.pdf MPLAB Harmony Release Brief, providing “at-a-glance” release information Production
harmony_release_notes_v1.11.pdf MPLAB Harmony Release Notes in PDF Production
harmony_license_v1.11.pdf MPLAB Harmony Software License Agreement in PDF Production

Release Types

This section describes the release types and their meaning.

Description
MPLAB Harmony module releases can be one of three different types, as shown in the following illustration.

MICROCHIP-Harmony-Integrated-Software-Framework-1

Alpha Release
An alpha release version of a module is usually an initial release. Alpha releases will have complete implementations of their basic feature set, they are functionally unit tested and will build correctly. An alpha release is a great “preview” of what a new development Microchip is working on and it can be very helpful for exploring new features. However, it has not gone through the complete formal test process and it is almost certain that some of its interface will change before the production version is released, and therefore, is not recommended for production use.

Beta Release
A beta release version of a module has gone through the internal interface review process and has had formal testing of its functionality. Also, issues reported from the alpha release will have been fixed or documented. When a module is in a beta version, you can expect it to function correctly in normal circumstances and you can expect that its interface is very close to the final form (although changes can still be made if required). However, it has not had stress or performance testing and it may not fail gracefully if used incorrectly. A beta release is not recommended for production use, but it can be used for development.

Production Release
By the time a module is released in a production form, it is feature complete, fully tested, and its interface is “frozen”. All known issues from previous releases will have been fixed or documented. The existing interface will not change in future releases. It may be expanded with additional features and additional interface functions, but existing interface functions will not change. This is stable code with a stable Application Program Interface (API) that you can rely on for production purposes.

Version Numbers

This section describes the meaning of MPLAB Harmony version numbers.

Description

MPLAB Harmony Version Numbering Scheme
MPLAB Harmony uses the following version numbering scheme:
<major>.<minor>[.<dot>][<release type>] Where:

  • <major> = Major revision (significant change that affects many or all modules)
  • <minor> = Minor revision (new features, regular releases)
  • [.<dot>] = Dot release (error corrections, unscheduled releases)
  • [<release type>] = Release Type (a for alpha and b for beta, if applicable). Production release versions do not include a release type letter.

Version String
The SYS_VersionStrGet function will return a string in the format:
“<major>.<minor>[.<patch>][<type>]”
Where:

  • <major> is the module’s major version number
  • <minor> is the module’s minor version number
  • <patch> is an optional “patch” or “dot” release number (which is not included in the string if it equals “00”)
  • <type> is an optional release type of “a” for alpha and “b” for beta. This type is not included if the release is a production version (i.e., not an alpha or a beta)

Note: The version string will not contain any spaces.

Example:
“0.03a”
“1.00”

Version Number
The version number returned from the SYS_VersionGet function is an unsigned integer in the following decimal format (not in a BCD format).
<major> * 10000 + <minor> * 100 + <patch>
Where the numbers are represented in decimal and the meaning is the same as described in Version String.
Note: There is no numerical representation of the release type.

Example:
For version “0.03a”, the value returned is equal to: 0 * 10000 + 3 * 100 + 0.
For version “1.00”, the value returned is equal to: 1 * 100000 + 0 * 100 + 0.
© 2013-2017 Microchip Technology Inc.

FAQ

  • Q: Can MPLAB Harmony be used with C++ programming language?
    A: No, MPLAB Harmony has not been tested with C++; therefore, support for this programming language is not available.
  • Q: What is the recommended optimization level for building projects with MPLAB Harmony peripheral library?
    A: The -O1 optimization level is recommended to remove code from unused sections in the peripheral library.
  • Q: How does the MPLAB Harmony uninstaller handle user-modified files?
    A: The uninstaller will delete all files installed by the installer, even if they were modified by the user. However, new files added by the user will not be deleted.

Documents / Resources

MICROCHIP Harmony Integrated Software Framework [pdf] User Guide
v1.11, Harmony Integrated Software Framework, Integrated Software Framework, Software Framework, Framework

References

Leave a comment

Your email address will not be published. Required fields are marked *