3.1.2 MPLAB® Harmony v3

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 v3 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 v3 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. The low-level Peripheral Libraries (PLIBs) are simple functions to initialize and control peripherals and basic device features. The System drivers enable the configuration of general functionality, often used by other peripherals, such as Pins, Interrupts and the System Clock. Drivers depend on PLIBs and abstract the hardware details away from Libraries and applications. Libraries use drivers and system services for device independence, and they provide support for networking, USB, cryptography, and other capabilities often required by today’s embedded applications.

MPLAB X IDE, the XC32 Compiler and a fully integrated embedded software development framework: MPLAB® Harmony 3.

MPLAB Discover provides a universal search feature designed to help users locate content developed by Microchip engineers. The platform incorporates intuitive navigation and a clearly structured categorization system to streamline content access. Targeted search terms enhance the ability to locate specific technical information efficiently. ATA8510/15 application-related content can be located by entering the device part number on the MPLAB Discover Portal.

Figure 3-1. MPLAB Code Configurator
Figure 3-2. ATA8510/15 Service Implementation in H3 Framework
Table 3-1. 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