1 Description

Follow these steps to setup and use the MPLAB Harmony v3 software development framework:

  1. Download and Install MPLAB X Integrated Development Environment (IDE).
    Note: If MPLAB X IDE is installed, skip this step and go to step 3. If not, download the latest version of the MPLAB® X IDE.
  2. Run the installer and follow the instructions prompted on the screen.
  3. After installing MPLAB X IDE, the MPLAB Code Configurator and Content Manager are installed by default.
    1. To verify the MCC plugin, navigate to Tools > Embedded and ensure that the MPLAB Code Configurator plugin is available.
      Figure 1-1. Verifying MCC Plugin
    2. Navigate to Tools > Options > Plugins.
    3. For Harmony Repository, choose github.com/Microchip-MPLAB-Harmony.
    4. For Harmony Content Path, enter C:/Har3 (specify the local folder for downloading the MPLAB Harmony packages, or use the default location).
      Figure 1-2. Content Manager Setup
    5. Click OK.
    6. Launch the MCC Content Manager by clicking the MCC Content Manager icon to verify the installation of the Content Manager.
      Figure 1-3. Verifying MCC Content Manager
      Note: The MCC Content Manager is common for MCC Melody, MCC Classic, and MCC Harmony.
    7. To download 32-bit content, select Harmony from the Content Type drop-down menu.
      Figure 1-4. Selecting Harmony
  4. MPLAB Harmony v3 contents are grouped in multiple packages, which are available for download in the GitHub repository at: https://github.com/Microchip-MPLAB-Harmony/. All these packages are not required for the development of an application, therefore users can download only the required packages.

    The following packages are mandatory to use MPLAB Harmony v3:

    • CMSIS_5: This repository contains software components and tools designed to simplify the development of applications for Arm® Cortex®-M microcontrollers. CMSIS provides a standardized hardware abstraction layer and a set of common APIs.
    • content_manager_artifacts: This repository contains the implementation of the MPLAB Harmony v3 Content Manager tool (MHCM). The MHCM is an easy to use development tool with a Graphical User Interface (GUI) that simplifies the manipulation of MPLAB Harmony Content. The MHCM is available as a plugin that directly integrates with the MPLAB X IDE or as a separate Java executable for standalone use with other development environments.
    • csp: This repository contains the MPLAB Harmony v3 Chip Support Package (CSP). The CSP supports the initialization of Microchip 32-bit SAM and PIC® microcontroller and microprocessor devices. It provides Application Program Interfaces (APIs) to develop simple applications that control peripheral hardware with minimal external dependencies.
    • Devices: This repository contains the MPLAB Harmony v3 supported devices list, used by Microchip MPLAB Code Configurator (MCC) internally.
    • harmony_services: MPLAB Harmony Services repository is required to launch MPLAB Harmony package/component HTML-based plugins. It contains common Harmony generic plugin and Harmony file server java libraries required for HTML-based plugins.
    • quick_docs: This repository contains the MPLAB Harmony v3 Quick Documentation Package. Quick documents are standalone HTML pages that help to get started developing applications using Microchip 32-bit SAM and PIC MCUs/MPUs using MPLAB Harmony v3 software framework.

    The following packages are optional and can be downloaded when needed:

    • core: This repository provides drivers and services with simple to use abstractions of peripherals and shared resources on Microchip 32-bit SAM and PIC devices. Drivers and services may also provide advanced capabilities, such as buffer queuing, peripheral sharing, and RTOS support.
    • gfx: The graphics repository contains the files for the MPLAB Harmony Graphics Suite, quick-start applications, drivers, tools, libraries, and templates.
    • usb: The USB repository provides the USB controller drivers for 32-bit PIC and SAM devices, as well as Host and device middleware with support for common device classes.
    • net: This repository provides a fast-to-market TCP/IP stack for 32-bit PIC and SAM microcontrollers. It contains multiple applications that demonstrate communication over the TCP/IP using well-known protocols, such as TCP, UDP, HTTP, SMTP, and so on.
    • others: There are many other packages that are supported in MPLAB Harmony v3. For additional information, refer to the MPLAB Harmony GitHub repository.

    Users can download the MPLAB Harmony v3 packages using any one of these options:

    • Using the MCC Content Manager Wizard: There are two ways to use the MCC Content Manager Wizard to download the MPLAB Harmony v3 packages:
      1. Creating a new Harmony v3 project.
      2. Using an existing project.

      For additional information, refer to the MPLAB® Harmony v3 Software Framework For MCUs.

    • Manually cloning from GitHub: To manually clone a repository, follow the instructions available at: https://help.github.com/en/articles/cloning-a-repository.
      Note: After all the required MPLAB Harmony v3 repositories are cloned, these repositories must be in the same folder as shown in the following figure.
      Figure 1-5. MPLAB Harmony v3 Packages
      CAUTION: GitHub provides a clone or download option on a repository page. While this option is provided by GitHub to download a repository, it is discouraged to use this option for MPLAB Harmony v3 repositories. Using this option will render certain MPLAB Harmony v3 features inoperable.
  5. Creating a MPLAB Harmony v3 Project: After the required MPLAB Harmony v3 repositories are available in a folder, follow the instructions given in the links below to create a MPLAB Harmony v3 project:
Note: All MPLAB Harmony v3 projects are standalone, which can be created at any location on the computer (irrespective of MPLAB Harmony v3 repositories location) and can be ported to any other computer.