Page 31

EETE SEP 2015

MPLAB® Harmony for PIC32 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. It features the MPLAB Harmony Configurator (MHC) plug-in that provides a graphical way to select and configure all MPLAB Harmony components, including middleware, system services and peripherals with ease. Benefits ■ Faster time-to-market ■ Improved code interoperability ■ Simplified support ■ MPLAB Harmony Configurator (MHC) for enhanced user experience ■ Improved 32-bit scalability ■ Enhanced third party software integration MPLAB Harmony Block Diagram Application(s) RTOS (Third Party) Common System Services Middleware Plug-In Plug-In Driver OSAL Middleware Driver Driver Driver Driver Driver Driver PLIB PLIB PLIB PLIB PLIB System Configuration RTOS Configuration Hardware Software Framework MPLAB® Harmony Configurator (MHC) PIC32 Software Development Tools Available with MPLAB Harmony 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 Peripheral Libraries (PLIB) Layer ■ Provide functional interface for Microchip PIC32 scalability ■ Implements part-specific features 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 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 ■ ThreadX ■ embOS ■ FreeRTOS ■ OpenRTOS ■ Micrium μC/OS-II ■ Micrium μC/OS-III ■ Graphics ■ TCP/IP ■ USB ■ Cryptographic libraries ■ File systems ■ System services ■ Bluetooth® ■ DSP/Math ■ 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++ ■ MPLAB Harmony Configurator (MHC) Plug-In ■ MPLAB Harmony Graphics Composer (HGC) ■ Board Support Packages (BSP) ■ DHCP ■ DNS ■ Networking ■ Security ■ Cloud services Additional software components planned 32-bit Microcontrollers 3


EETE SEP 2015
To see the actual publication please follow the link above