Microchip-MPLAB-Harmony:
- Github: https://github.com/Microchip-MPLAB-Harmony
- Project: https://www.microchip.com/en-us/tools-resources/configure/mplab-harmony
- MPLAB® Harmony 3 User’s Guide: https://microchip-mplab-harmony.github.io
MPLAB® Harmony 3 User’s Guide
This document describes what MPLAB Harmony 3 is, explains its key architectural concepts, and provides instructions for its use.
What is MPLAB Harmony 3?
MPLAB® Harmony 3 is an extension of the MPLAB® ecosystem for developing embedded software solutions for Microchip 32-bit devices.
It is comprised of a set of tools, libraries, and example applications that extend the MPLAB® ecosystem to simplify development of embedded software for Microchip® 32-bit SAM and PIC microcontroller and microprocessor devices.
MPLAB Harmony 3 provides the MPLAB® Harmony Configurator (MHC) tool, a set of modular device and middleware libraries, and numerous example applications, all of which are designed to help developers to quickly and easily develop powerful and efficient embedded software for Microchip 32-bit SAM and PIC devices.
**MHC(MPLAB® Harmony Configurator)
The MHC is an easy to use development tool with a GUI(Graphical User Interface) that
simplifies device setup, library selection and configuration, and application development.
- The **MHC is available:
- as a plugin that directly integrates with the MPLAB® X IDE.
- as a separate Java executable for standalone use with other IDE.
- MHC downloader(MHC included): reads an online catalog of library packages and facilitates selection and downloading of any libraries in which the developer is interested.
- MHC configurator: provides convenient and powerful development tools for **choosing library components from downloaded packages and configuring them for the developer’s application.
- MHC built-in CodeGenerator produces library and application starter code (usually in source form), based on the options chosen by the developer.
- MHC Library Packages provided by MPLAB Harmony 3 are distributed in separate GIT repositories containing C-language source-code (and/or templates for generating it) for components that are normally used together or that are parts of a “stack" of related library components.
- CSP(Chip Support Package) contains device startup code and independent low-level Peripheral Libraries (PLIBs) that consist of simple functions to initialize and control peripherals and basic device features.
- Core package provides** device driver and system service libraries** that use PLIBs and that abstract hardware and Real Time Operating System (RTOS) details away from middleware and applications.
- Middleware libraries use drivers and system services for device independence in order to provide reusable implementations of each module. Middleware modules are available that support displaying graphics, networking capabilities, USB connectivity, audio playback and recording, Bluetooth connectivity, cryptography, and other powerful capabilities often required by today’s embedded devices.
- By default, Core and middleware libraries utilize FreeRTOS through an OSAL(Operating System Abstraction Layer). But, the OSAL can easily support nearly any RTOS or even systems with no RTOS at all.
Numerous example applications are available for MPLAB Harmony 3 that demonstrate each supported technology and that show common usage models for targeted markets. The following images show just a few examples.
MPLAB Harmony 3 Wiki
MHC User’s Guide Wiki
Create Your First Peripheral Library Project
Get Started with Harmony 3 on the SAMA5D2
MPLAB Harmony 3 Provides
· Example Applications
· Modular Libraries
o Peripheral Libraries
o Drivers & Services
o Middleware
· Graphical Developer Tools for
downloading, configuring, and generating the libraries.