Harmony v3 Drivers and Middleware on PIC32MZ EF MCUs using FreeRTOS: Step 1

Step 1.1: Install the MPLAB® Harmony Configurator (MHC) Plugin in the MPLAB X IDE

1

Verify that MPLAB Harmony Configurator (MHC) is installed.

• Launch MPLAB X IDE from the Windows® Start Menu. Close any projects and files that are currently open.
• Go to Tools > Embedded.
• You will see MPLAB Harmony 3 Configurator in the menu.

mhc_setup.png

If you don't see it in the menu, install MHC.

Step 1.2: Setup MHC Plugin Window to Open in Standalone Mode

1

Go to Tools > Options. You will see the Options window open.

mhc_launch_mode1.png
mhc_launch_mode2.png

2

Go to Plugins > Window Manager and select Standalone mode. Click Apply and then click OK.

standalone_setup.png
  • When you launch MHC for the first time, it displays a prompt asking for the mode in which you would like to use MHC.
    • Standalone mode (as a separate window)
    • Native mode (as an embedded window in MPLAB X)
  • Standalone mode is the default mode.
  • MHC will launch in the operating mode selected the first time, every time you launch MHC.
  • Step 1.2 above shows a way to change the MHC operating mode.

For this lab, MHC is configured to operate in Standalone mode.

Step 1.3: Create MPLAB Harmony v3 Project Using MPLAB X IDE

1

Select File > New Project from the main IDE menu.

Close all existing opened projects before you start creating a new project.

2

In the Categories pane of the New Project dialog window, select Microchip Embedded. In the Projects pane, select 32-bit MPLAB Harmony 3 Project, then click Next.

project_creation_setup.png

If 32-bit MPLAB Harmony 3 Project is not displayed, install MHC.

3

Browse to the folder you downloaded the harmony framework to in the Framework Path edit box. If you haven't done this, or want to download it to a different folder, click the Launch Content Manager button, then click Next.

For more information on the content manager, see the "Download MPLAB Harmony Framework" section of the "MPLAB Harmony v3 Configurator Overview" page.

project_path_setup.png

4

In the Project Settings window, apply the following settings:

  • Location: Location indicates the path to the root folder of the new project. All project files will be placed inside this folder. The project location can be any valid path, for example: C:\microchip\harmony\v3\training\dev.
  • Folder: Folder indicates the name of the MPLABX .X folder. Enter "middleware_drivers_freertos_pic32mz_ef_curiosity2" to create a middleware_drivers_freertos_pic32mz_ef_curiosity2.X folder.

This must be a valid directory name for your operating system.

  • Name: Enter the project’s logical name as "getting_started_middleware_drivers_freertos_pic32mz_ef_curiosity2". This is the name that will be shown from within the MPLAB X IDE.

The Path box is read-only. It will update as you make changes to the other entries.

Click Next to proceed to Configuration Settings.

project_naming_setup.png

Clicking on the Show Visual Help button will open a help window, providing a detailed description of the various fields in the Project Settings window.

project_naming_setup_help.png

5

Follow the steps below to set the project’s Configuration Settings.

  • Name: Enter the configuration name as "pic32mz_ef_curiosity2".
  • Target Device: Select PIC32MZ2048EFM144 as the target device.

You can select the Device Family or enter a partial device name to filter the list in Target Device in order to make it easier to locate the desired device.

After selecting the target device, click Finish to launch the MHC.

project_setup_finish.png

The New Project Wizard opens a Configuration Database Setup window to allow you to review the packages that will be used by the current project.

6

Click Launch to launch the MHC tool with the selected packages.

mhc_launch_step.png

The main MHC plugin window for the project will be displayed.

launched_mhc_view.png

7

Before proceeding, set up the compiler toolchain. Click on the Projects tab on the top left pane in MPLAB X IDE. Right-click on below mentioned project name ("getting_started_middleware_drivers_freertos_pic32mz_ef_curiosity2") and go to Properties.

project_view.png

Make sure that XC32 (v2.40) is selected as the Compiler Toolchain for XC32. Click on Apply and then click on OK.

xc32_setup.png

Tool Tip: If you closed MHC accidently and would like to open it again, go to Tools > Embedded > MPLAB Harmony 3 Configurator in MPLAB X IDE.

Step 1.4: Verify Clock Settings

1

Launch the Clock Diagram by going to the Tools menu of the MHC window and then selecting Clock Configuration.

clock_configuration_open.png

A new window, Clock Diagram is opened inside MHC.

2

Click on the Clock Diagram tab, scroll to the right and verify that the SYSCLK is set to 200 MHz.

clock_configuration_setup.png

Tool Tip:

  • The Clock Diagram window can be minimized by clicking minimize button, as shown below.
minimize_button.png
  • After minimizing the Clock Diagram window, you can see a small Clock Diagram tab at bottom-left in MHC, as shown below.
clock_easy_view_tab.png
  • The Clock Diagram window can be maximized by clicking maximize button or by double-clicking on Clock Diagram window, as shown below.
maximize_button.png
  • These tips apply to all other plug-in managers like Pin Configuration, DMA Configuration, Event System Configuration, and EVIC Configuration.

Step 1.5: Configure BSP (Board Support Package)

1

Under the Available Components tab, expand Board Support Packages (BSPs).

Select and double click on PIC32MZ EF Curiosity 2.0 BSP to configure all user LEDs and user switches on the Curiosity PIC32MZ EF 2.0 Development Board.

bsp_select.png
bsp_added_on_mhc_project_graph.png

When BSP added to MHC, MHC will configure all Curiosity PIC32MZ EF 2.0 Development Board related pins like user LED pins, and user switch pins.

bsp_port_pins_conf.png


Next Step >

© 2020 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.