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-25. MPLAB Code Configurator
Figure 3-26. RNWF11 Service Implementation in H3 Framework
Table 3-15. Modules
ModuleDescription
PLIBVery low level interface to peripherals
DriverPreferred method to access peripherals when creating portable applications
System ServiceUsed by drivers, middleware and application (Timer, File System, and so on.,)
MiddlewareImplement complex protocols like USB, TCP/IP, GFX, Bluetooth, so on., They use driver and system services
MCCUI 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 LibrariesRTOS from industry leading RTOS specialists, graphics stack from Segger and other libraries
Plug-inPlug-ins for display manager, clock manager and graphics composer