Datasheet
3
Software and Hardware Solutions for the 32-bit Designer
Introduction
MPLAB Harmony is a flexible, abstracted, fully integrated
firmware development environment for PIC32
microcontrollers. It enables robust framework development
of interoperable RTOS-friendly libraries with quick and
extensive Microchip support for third party software
integration. MPLAB Harmony includes a set of peripheral
libraries, drivers and system services that are readily
accessible for application development. The code
development format allows for maximum re-use and
reduces time-to-market.
Benefits
■ Faster time-to-market
■ Improved code interoperability
■ Simplified support
■ Improved 32-bit scalability
■ Enhanced third party software integration
MPLAB® Harmony for PIC32
MPLAB Harmony Block Diagram
Application(s)
Driver
DriverDriverDriverDriverDriver
PLIBPLIBPLIBPLIBPLIB
System
Configuration
RTOS
Configuration
Plug-inPlug-in
Middleware
DriverMiddleware
Common
System
Services
RTOS
(3rd Party)
O
S
A
L
Hardware
Software Framework
Application Layer
■ Implements desired overall behavior
■ Abstracted hardware access
■ Allows for easy port across PIC32 parts
Common System Services
■ Provides common functionality to avoid duplication
and conflicts
■ Eliminates complex interactions and interdependencies
between modules
■ OSAL provides OS compatibility and interface
■ Manages shared resources
■ Supports low-level configuration and board
support package
Middleware Layer
■ Implements complex libraries and protocols
(USB, TCP/IP, file systems, graphics)
■ Provides a highly abstracted application program interface
■ Libraries are thread safe and RTOS ready
■ Built on drivers, PLIBS, system services
■ Supports third party library integration
Device Driver Layer
■ Provides highly-abstracted interface to peripheral
■ Controls access to the peripheral
■ Manages multiple hardware instances and software
clients with select drivers
■ Manages peripheral state and multiple
peripheral instances
■ Accesses hardware via PLIB
■ Supports blocking or non-blocking code
Peripheral Libraries (PLIB) Layer
■ Provide functional interface for Microchip
PIC32 scalability
■ Implements part-specific features
PIC32 Software Development Tools Available with MPLAB Harmony
Applications
Operating System
Abstract Layer (OSAL)
Middleware/
Software Libraries
Device Drivers
Development
Software
Third Party
Software
■ Graphics
applications
■ TCP/IP applications
and utilities
■ USB applications
■ OSAL interface with
“basic” and “none”
implementation
■ OSAL implementation
for FreeRTOS
■ OSAL implementation
for Micrium µC/OS-III
■ Graphics
■ TCP/IP
■ USB
■ Cryptographic
libraries
■ File systems
■ System
services
■ ADC
■ Ethernet media access
controller
■ Ethernet PHY interface
■ Controllerless graphics
■ Epson LCD controller
■ Non-volatile memory
■ SPI, UART, high-speed USB
■ Timer, parallel master port
■ MPLAB® X IDE
■ MPLAB XC32++
■ FreeRTOS*
■ OpenRTOS*
■ TCP/IP*
■ SSL libraries
■ Micrium
μC/OS-III
Additional software components planned
*Sold and front-line support provided directly by Microchip