Microchip Libraries for ApplicationsBitahwa Bindu
Microchip Libraries for Applications (MLA) is a collection of Microchip firmware libraries and demo projects. Not all firmware libraries and demo projects from Microchip are distributed in this package; rather, this package includes a few specific libraries that tend to be used together. By distributing libraries that are used often together, Microchip can provide example projects that integrate the use of multiple libraries. MLA is currently being distributed mainly in the source code form to provide the maximum flexibility for end designers to customize firmware to fit his/her applications.
Microchip Libraries for Applications (MLA) is a collection of Microchip firmware libraries, drivers, demo projects, documentation and utilities for different type of applications including USB, Graphic displays, File I/O (Memory cards), TCP IP, Smartphone and many more.
Not all firmware libraries and demo projects from Microchip are distributed in this package; rather, this package includes a few specific libraries that tend to be used together. By distributing libraries that are used often together, Microchip can provide example projects that integrate the use of multiple libraries.
This library can be downloaded from Microchip web site: Microchip Libraries for Applications section. Download and install the Microchip Libraries for Applications (MLA) from the Microchip Inc website that support the PC operating system that you are using (Windows, MAC or Linux). At the time of writing this article the current version is MLA v2015-08-10. Microchip updates from time to time these Libraries, the older versions can be accessed from the Downloads Archive tab. At the time of writing this article the current version is MLA v2015-08-10, figure 1 below shows the included libraries with the PIC they support. For example, the USB library is supported by 8-bit PIC Microcontrollers with USB (PIC16F and PIC18F) and 16-bit PIC Microcontrollers with USB (PIC24 and dsPIC). It shows that this USB library is not supported by 32-bit PIC Microcontrollers (PIC32). PIC32 users should use either the MPLAB® Harmony software suite or the MLA for Legacy Demos for USB.
The demo projects, documentation and utilities are grouped inside the MLA root folder in different folders:
1. apps folder:
Contains the application examples demonstrating an application which can use one or more middleware libraries or drivers. For starters, you can use these examples and modify them according to your project requirements. The apps folder in the installation directory has structure similar to:
The device folder : This folder has various demo examples to implement USB device (slave) applications. This folder has examples for USB audio microphone, USB audio midi, USB bootloaders, USB CDC basic, USB CDC serial emulator, USB composite hid msd, USB HID custom, USB HID digitizer multi touch, USB HID digitizer single touch, USB joystick, USB HID keyboard, USB HID mouse, USB HID UPS, USB MSD internal flash and USB MSD SD Card reader. This folder has some utilities and drivers as well.
The factory_demo folder: This folder contains pre-programmed demo .hex ready to run in Microchip development boards
The host folder: This folder has various demo examples to implement USB host applications. This folder has examples for USB CDC basic, USB HID keyboard, USB HID mouse, USB MSD Bootloader, USB MSD Data Logger and USB Simple Demo
The simplest way to get started is to use one of these examples then modify them to suite your needs. You can’t just copy a project folder from this directory, it won’t work because it has dependencies with other files in other folders and sorting out those paths would be a nightmare.
The best option is to package your project, this will create a zip file with all the required files and folders to run your project from a different location. always do this, don’t modify the original example projects as you might need them later.
To package your project, Right click on the top node of the project you wish to package, then select Package from the popup menu.
If successful, a message will be printed to the output window telling you where the zip file was created. You can just click on it and it will take you to the location.
If you are using Microchip’s development boards, this folder contains the board support packages for the hardware dependent code which is common and shared between various application examples.
Contains common documentation, license files, release notes and middleware specific help files.
Contains drivers and various middleware libraries
Contains common utilities that are used by multiple application examples and\or middleware libraries.
The framework folder which is the sub-folder of the installation root has structure similar to one below: