system_config Folder

The MPLAB® Harmony library makes it easy for you to migrate your code from one hardware platform to another. This is accomplished by segregating your application's hardware specific code under the system_config folder.

Each folder found in the system_config folder corresponds with a different hardware platform. We created the names of these folders to match the names of their corresponding project configuration and Board Support Package (BSP).

When one project configuration is selected, code not associated with that configuration (from different hardware platforms) is excluded from the build process.

system_config.jpg

If you want to see which files are excluded from the build process, expand all folders found under the system_config folder and use the drop-down window to change the project configuration. Files excluded from the build process are shown as "ghosted".

Microchip has taken advantage of the IDE's project configuration ability to provide one project that can be used for many different hardware platforms. You, of course, may organize your own projects any way you desire. However, it is recommended to follow this convention if you use multiple configurations in your projects. We think you'll appreciate the power and flexibility of it.

If you create your own folder in system_config, you must place the relative path to this folder in the compiler's "Include directories".

The following files make up a complete configuration of the system. The purpose of each of these files is described in more detail on this page.

  • system_config.h
  • system_init.c
  • system_tasks.c
  • system_interrupt.c (optional)

system_config Sub-Folder Names

MPLAB® Harmony includes library files that support our development boards. These library files are called "Board Support Packages". A full list of these boards with descriptions can be found in the Harmony Help file in the "Board Support Package Help" section.

These are just some of the many development boards used in Harmony demo applications. The names assigned to these board support packages are also used for the project configuration name and system_config sub-folder name.

What PIC32 device is used on these boards? >


PIC32MX USB Starter Kit II

This board uses the Harmony Board Support Package name of pic32mx_usb_sk2. Click on the link below for more details on this board.

pic32mx_usb_sk2.jpg
Click image to enlarge.

PIC32MX Ethernet Starter Kit

This board uses the Harmony Board Support Package name of pic32mx_eth_sk. Click on the link below for more details on this board.

pic32mx_eth_sk.jpg
Click image to enlarge.

PIC32MX Ethernet Starter Kit with PICtail Daughter Board for SD and MMC on the PIC32 I/O Expansion Board

These boards use the Harmony Board Support Package name of pic32mx_eth_sk+sd_mmc_pictail. Click on the links below for more details on each board.

pic32mx_eth_sk+sd_mmc_pictail.jpg
Click image to enlarge.

PIC32MZ Embedded Connectivity with FPU (EF) Starter Kit with and without Crypto Engine

These boards use the Harmony Board Support Package name of pic32mz_ef_sk. Click on the links below for more details on each board.

pic32mz_ef_sk.png
Click image to enlarge.

If you are using one of the PIC32MZ starter kits be aware: there are two different PIC32MZ EC Starter Kits. Demonstration application projects that come with Harmony will use one or the other starter kit. You may need to change the device number associated with the demo project to make it work for the starter kit you have.

  • PIC32MZ Embedded Connectivity with FPU (EF) Starter Kit uses PIC32MZ2048EFH144
  • PIC32MZ Embedded Connectivity with FPU (EF) Starter Kit with Crypto Engine uses PIC32MZ2048EFM144

PIC32MZ Embedded Connectivity Starter Kit with and without Crypto Engine

These boards use the Harmony Board Support Package name of pic32mz_ec_sk. Click on the links below for more details on each board.

pic32mz_ec_sk.jpg
Click image to enlarge.

If you are using one of the PIC32MZ starter kits be aware: there are two different PIC32MZ EC Starter Kits. Demonstration application projects that come with Harmony will use one or the other starter kit. You may need to change the device number associated with the demo project to make it work for the starter kit you have.

  • PIC32MZ EC Starter Kit uses PIC32MZ2048ECH144
  • PIC32MZ EC Starter Kit with Crypto Engine uses PIC32MZ2048ECM144

PIC32MZ Embedded Connectivity with FPU (EF) Starter Kit with the Multimedia Expansion Board II

These boards use the Harmony Board Support Package name of pic32mz_ef_sk+meb2. Click on the links below for more details on each board.

meb2.jpg
pic32mz_ec_sk+meb2.jpg
Click image to enlarge.

Explorer16 Development Board with PIC32MZ EC Processor Plug-in Module (PIM)

This board uses the Harmony Board Support Package name of pic32mz_ec_pim+e16. Click on the links below for more details on the board and Plug-in module.

pic32mz_ec_pim+e16.jpg
Click image to enlarge.

20th Annual
Microchip MASTERs Conference 2016
Register now - Deadline: July 29

JW Marriott Desert Ridge Resort-Phoenix, AZ

© 2016 Microchip Technology, Inc.
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.