system_config Folder for MPLAB® Harmony v2

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 anyway 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 the library files that support our development boards. These library files are called Board Support Packages (BSPs). A full list of these boards with descriptions can be found in the PDF titled "help_harmony".

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

Which PIC32 device is used on these boards?


PIC32MX USB Starter Kit II

This board uses the Harmony BSP 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 BSP 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 BSP 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 BSP 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, note that there are two different PIC32MZ EC Starter Kits. The demonstration application projects that come with Harmony will use one or the other. You may need to change the device number associated with the demo project to make it work for the kit you selected.

  • 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 BSP 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, note there are two different PIC32MZ EC Starter Kits. The demonstration application projects that come with Harmony will use one or the other. You may need to change the device number associated with the demo project to make it work for the starter kit you selected.

  • 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 BSP 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 BSP name of pic32mz_ec_pim+e16. Click on the links below for more details on the board and PIM.

pic32mz_ec_pim+e16.jpg
Click image to enlarge.
© 2024 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.