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.

Figure 3-41. MPLAB Code Configurator
Figure 3-42. RNWF02 Service Implementation in H3 Framework
Table 3-14. Modules
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