3.2.2 MPLAB® Harmony 3
MPLAB® Harmony v3 is a fully integrated embedded software development framework that provides flexible and interoperable software modules to simplify the development of value-added features and reduce the product’s time to market. MPLAB Code Configurator (MCC) is a free graphical programming environment that generates seamless, easy-to-understand C code that can be used in user’s 32-bit application development. MPLAB Harmony v3 supports all Microchip’s 32-bit MIPS, Arm® Cortex® based MCU and MPU device families. Device and embedded software libraries can be configured with MCC, a GUI-based configurator integrated into MPLAB X IDE, which provides a unified interface to all the features of the embedded software framework.
MPLAB® Harmony 3 is an extension of the MPLAB® ecosystem for creating embedded firmware solutions for 32-bit Microchip devices. For better installation and configuration management the software is available through GitHub.
MPLAB Harmony has a layered architecture that consists of several software modules. These modules are portable, compatible to each other and they communicate and exchange data and information with each other.
MPLAB® X IDE, the XC32 Compiler and a fully integrated embedded software development framework: MPLAB® Harmony 3.
Module | Description |
---|---|
PLIB | Very low level interface to peripherals |
Driver | Preferred method to access peripherals when creating portable applications |
System Service | Used by drivers, middleware and application (Timer, File System, and so on.,) |
Middleware | Implement complex protocols like USB, TCP/IP, GFX, Bluetooth, so on., They use driver and system services |
MCC | UI based tool that provides an intuitive graphical user interface which enhances user experience to easily enable and configure the Harmony Framework components and significantly reducing user development time |
Third-Party Libraries | RTOS from industry leading RTOS specialists, graphics stack from Segger and other libraries |
Plug-in | Plug-ins for display manager, clock manager and graphics composer |