Harmony 3 Packages
This page describes the packages that make up the MPLAB® Harmony software development framework. These packages are foundin the MPLAB Harmony GitHub repository and can be downloaded using the MPLAB Harmony 3 Content Manager.
Package Name | Descriptions | Example Function Names |
---|---|---|
mhc | Contains the implementation of the MPLAB Harmony Configurator (MHC) tool. | – |
dev_packs | Describes all peripherals, memory, etc. of each supported 32-bit device. | – |
csp | Chip Support Package (CSP) supports initialization of Microchip 32-bit SAM and PIC® microcontroller and microprocessor devices. The peripheral libraries (PLIB) allow the development of simple applications that directly control the SAM and PIC peripherals. | UARTx_Initialize, UARTx_Read, TMRx_Start, TMRx_Stop, TCx_TimerStart, TCx_TimerStop, PORT_PinSet, PORT_PinRead |
bsp | Board Support Package (BSP) defines the name of the evaluation board and the name of switches and LEDs on the board. It also defines the attributes of the pins connected to the switches and LEDs (e.g.: data direction). | – |
core | Provides drivers and system services that have advanced capabilities and a higher level of abstraction that gives better hardware independence. The drivers and services provide abstracted interfaces that do not change from device to device. Peripheral Library (PLIB) interfaces, while providing lower overhead and more direct control, give no such guarantee. Applications written using driver and service APIs do not usually need to be modified if the device configuration is changed or even if a new Microchip MCU or MPU device is selected. This package also implements the Operating System Abstraction Layer (OSAL). | DRV_USART_Initialize, DRV_USART_ReadBuffer, DRV_I2C_Initialize, DRV_I2C_ReadTransfer, SYS_TIME_TimerCreate, SYS_TIME_TimerCounterGet, OSAL_Malloc |
crypto | The Cryptographic Library includes functions to perform encryption, decryption, hashing, authentication, and compression within the embedded application. Random number generation (RNG) functions are also provided. The library provides DES, 3DES, and AES for block cipher needs. Depending on the algorithm in use, CBC and CTR modes are supported. | CRYPT_RNG_Initialize, CRYPT_RNG_Get, CRYPT_ECC_KeySizeGet, CRYPT_SHA256_DataAdd |
gfx | Contains the Aria Graphics library, the MPLAB Harmony Graphics Composer (MHGC) plug-in, the Display Manager plug-in. It also includes a simple quickstart application (Aria Quickstart) that provides a touch-enabled starting point for Aria Graphics development. | GFX_ActiveContext, GFX_Set, GFXU_StringFontIndexLookup |
gfx_apps | Contains all other (non-quickstart) Aria and Legato Graphics Library demonstration projects | – |
net | Contains the MPLAB Harmony 3 Network Package (Net). The Net repo provides a free fast to market TCP/IP stack for Microchip 32-bit SAM and PIC microprocessor devices. The repo contains multiple applications that demonstrate communication over TCP/IP using well-known protocols like TCP, UDP, HTTP, SMTP, etc. | TCPIP_STACK_Status, TCPIP_STACK_NetIsReady, TCPIP_TCP_ArrayPut |
usb | The USB module components provide USB middleware and drivers. It also includes a variety of USB-related firmware projects that demonstrate the capabilities of the MPLAB Harmony USB stack. | USB_DEVICE_Attach, USB_DEVICE_EventHandlerSet, USB_HOST_CDC_AttachEventHandlerSet |
audio | Contains a variety of audio-related firmware projects that demonstrate the capabilities of the MPLAB Harmony audio offerings, drivers for hardware codecs that can be connected to development boards (e.g. WM8904 Codec Daughterboard), and a Board Support Package (BSP) Audio Template that can be used to make configuring a new audio project a matter of just a few mouse clicks. | DRV_WM8904_Initialize, DRV_WM8904_BufferAddRead, DRV_WM8904_VolumeSet |
bt | Bluetooth-related firmware projects that demonstrate the capabilities of the MPLAB Harmony Bluetooth offerings, drivers for Bluetooth modules that can be connected to development boards (e.g. BM64 Bluetooth Module Daughterboard), and a BSP Bluetooth Template that can be used to make configuring a new Bluetooth project a matter of just a few mouse clicks. | DRV_BM64_Open, DRV_BM64_BufferAddRead, DRV_BM64_VolumeSet |
motor_control | This module contains motor control demonstrations implemented on Microchip’s 32-bit SAM microcontrollers. You can use these demonstrations as a reference for developing your own motor control applications. It also includes the X2C-Scope plug-in for the MPLAB® X IDE. X2C-Scope enables you to read, write, and plot global variables (for motor control) in real time. It communicates with the target using the UART. | – |
micrium_ucos3 | This repository contains MPLAB Harmony configurations and applications for the Micrium OS-III. Micrium OS-III software is not included and must be downloaded separately. | – |
expresslogic_threadx | This repository contains MPLAB Harmony configurations and demo applications for Threadx Real time operating system from Express Logic. | – |
touch | The Touch Library is a royalty-free library for developing touch applications on 32-bit microcontrollers with a Peripheral Touch Controller peripheral. You can use it to integrate the touch-sensing capability into your applications. The library supports both self-capacitance and mutual-capacitance acquisition methods. | – |
wireless | This repository contains the MPLAB® Harmony 3 Wireless solutions and example applications. It helps quickly incorporate connectivity to designs with wireless ICs, modules, software and development kits that make connecting. | – |
aws_cloud | MPLAB® Harmony 3 Configurations and Applications to securely connect IoT devices to the AWS cloud using Amazon FreeRTOS. | – |
bootloader | This repository contains the MPLAB® Harmony 3 Bootloader. This can be used to upgrade the firmware on a target device without the need for an external programmer or debugger. | bootloader_Trigger, bootloader_Start, run_Application |
aerospace | This repository contains the MPLAB® Harmony 3 Aerospace solutions and example applications. It helps quickly incorporate connectivity to designs with Aerospace ICs, modules, software and development kits that make connecting effortless. | – |
cryptoauthlib_apps | This repository contains the MPLAB® Harmony 3 CryptoAuthLib Applications solutions and example applications | – |
helix_mp3 | This repository contains the MPLAB® Harmony 3 Helix MP3 Decoder Library. The source code is brought into a project automatically when the “Enable MP3 Decoder” checkbox is checked in the MHC Configuration Options for the Audio Decoder Libraries component of the Audio repository. | – |
CMSIS-FreeRTOS | Cortex Microcontroller Software Interface Standard (CMSIS) FreeRTOS. By default, when Harmony 3 core or middleware libraries are used, the MPLAB Harmony Configurator (MHC) automatically includes FreeRTOS in order to provide more efficient use of the CPU. (RTOS use can still be disabled manually.) | – |
zlib | A massively spiffy yet delicately unobtrusive compression library. | – |
wolfssl | wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3. | – |
wolfssh | wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP. | – |
wolfMQTT | This is an implementation of the MQTT Client written in C for embedded use, which supports SSL/TLS via the wolfSSL library. This library was built from the ground up to be multi-platform, space conscience and extensible. Integrates with wolfSSL to provide TLS support. | – |