Release Notes for Microchip Libraries for Applications v2014-07-22

Microchip Technology Inc. 2014

July, 2014

 

Table of Contents

1.  What is Microchip Libraries for Applications?. 1

2.  Installing/Uninstalling. 1

3.  What’s New, Changed, and Migration. 2

4.  Current MLA vs. Legacy MLA. 4

5.  Customer Support 7

 

1.  What is Microchip Libraries for Applications?

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.

2.  Installing/Uninstalling

To obtain the latest version of the MLA, you can download it from the Microchip web site at www.microchip.com/MLA.

 

Once the installation package is downloaded, first unzip (if zipped) the downloaded zip file and run the installer.

If installing over an existing MLA folder location, files that will be overwritten are back-up to the folder named ‘rollbackBackupDirectory’. A preferred method is to install different MLA versions in separate directories.

One or more third party libraries maybe required to run PC programs, this includes but not be limited to Java Runtime Environment (JRE), Qt framework, and/or .NET framework.

 

For Java programs (.jar extension), the jar files must be associated with the JRE in order to run.

  

MLA can be uninstalled by either running the uninstaller or simply delete the root installation folder. Either way, users should make sure to back-up any modified files.

3.  What’s New, Changed, and Migration

 

This release v2014-07-22 is a follow-up to the major release v2013-12-20 which had significant overhaul of the MLA.

 

Please read important information about the MLA transition in section Current MLA vs. Legacy MLA  4.

 

For a full list of changes in this release, read each individual library’s release notes after installation.  This section provides only a summary of key changes in this release:

 

Key Summary:

 

Library

Current Version

PIC16F

PIC18F

PIC24 & dsPIC33

PIC32

USB

2.11

x

x

x

 

Graphics

4.10

 

 

x

 

File I/O

1.00

 

 

x

 

Crypto SW (software implementation)

2.00

x

 

Crypto 16bv1 (Hardware implementation)

0.01b

 

 

x

 

Crypto Hash

1.00

x

 

Smart Card

2.00

 

 

x

 

MiWi

4.30

x

x

x

TCPIP

5.43

x

x

x

 

3.1 USB Library

 

For more information about the specific changes in this revision, please refer to the Revision History section of the USB Library Help file.

 

3.2 Graphics Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the Graphics Library Help file.

 

3.3 File I/O Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the File I/O Library Help file.

3.4 Crypto SW Library

  

For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto SW Library Help file.

3.5 Crypto 16BV1 Library

  

For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto 16BV1 Library Help file.

3.6 Crypto Hash Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto Hash Library Help file.

 

3.7 Smart Card Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the Smart Card Library Help file.

 

3.8 MiWi Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the MiWi Library Help file.

 

3.9 TCPIP Library

 

For more information about the specific changes in this revision, please refer to the detailed release notes in the TCPIP Library Help file.

 

 

4.  Current MLA vs. Legacy MLA

 

All prior MLA distributions from v2013-06-15 and older are now referred to as ‘Legacy MLA’. And MLA from distribution v2013-12-20 and newer are now referred to simply as ‘MLA’ or ‘Current MLA’. Both MLA and Legacy MLA will continue to be available from www.microchip.com/MLA during the transition. All older versions are always available from the archive download section.

 

Here is the list of common changes across all libraries compared to legacy MLA:

 

a)    New folder and file naming convention and organization:

The reason for this change is to avoid having spaces and mixed upper and lower case letters in the source file names and paths. Spaces and special characters are recommended to be avoided when using with MPLAB X, due to the low compatibility with the make tool chain. Letter case is now always lowercase, except for assembly files requiring C preprocessing, which would use uppercase S extension. This guidance helps reduce mistakes in letter case mismatch between #include file_name and the actual file name itself, and also when setting project paths. Windows OS is case insensitive, but Linux is case sensitive. In general, below is the closest match between the Legacy MLA structure and the Current MLA structure.

Legacy MLA

Current MLA

<mla_install>/Microchip

<mla_install>/framework

<mla_install>/Microchip/Include

<mla_install>/framework

<mla_install>/Microchip/Help

<mla_install>/doc

<mla_install>/[demos]

<mla_install>/apps/[demos]


This new folder structure is not just for MLA. It is a structure that is being used more and more in other software distributions from Microchip. An example is the Explorer16 demo, downloadable from www.microchip.com/Explorer16. Additional explanation of the file and folder organization can be found in <mla_install>/doc/help_mla_getting_started.

 

b)    MPLAB X and XC Compilers:

Out of the box support for MPLAB 8 IDE, C18, C30, and C32 compilers are no longer distributed or tested. A few exceptions still exist for some C18 projects, but going forward, MLA is providing out of the box support only for MPLAB X and XC compilers. A key reason for this change is MPLAB 8, C18, C30 and C32 are no longer updated for new products.

c)     GenericTypeDefs.h usage is superseded by the use of C99 fixed width data types:

Usage of type definitions in GenericTypeDefs.h, such as BYTE, WORD, DWORD, is now superseded by C99 fixed width data types such as uint8_t, uint16_t, uint32_t, etc. Include <stdint.h> to use the C99 fixed width data types. The reason for this change is simply a shift to use an existing standard definition, which helps avoid type conflict when combining MLA firmware with other non-MLA firmware.

d)    Compiler.h is no longer distributed:

Compiler.h used to serve as a common file to normalize compiler differences. This is now changed to be handled by each application specific build abstraction files.

e)    HardwareProfile.h is superseded by system.c, system.h and system_config.h:

The reason for this change is, not all hardware abstraction was possible with just a header file. So a C file is introduced to increase the abstraction flexibility. This in turn helps reduce the number of #if #else seen in the Legacy MLA examples. MPLAB X project organization and the utilization of the MPLAB X build configuration and file exclusion features also contributes to the reduction in the #if #else usages.

f)      Peripheral Driver Abstraction

In Legacy MLA, often times, different libraries have their own implementation of the commonly used peripheral drivers, making it difficult to use different libraries together when there are hardware driver conflicts. In the Current MLA, common peripheral driver abstraction, implementation and usages have improved. Not all drivers are fully abstracted yet, but the commonly used ones such as UART and SPI are available. More will be ported and implemented over time.

g)    Help File Format

In Legacy MLA, help files were available in CHM and PDF format. The CHM format is a Windows OS centric format. With the motivation to support cross-platform, the CHM file format has been dropped in exchange for the Java Help. In the Current MLA, help files are available in JAR and PDF format. The JAR help file should look and feel like the CHM help file, and can be opened on many platforms that support Java. There are a few known issues with the current JAR help file output, a key one being that clicking on web links does not launch an external browser. A recommended work around for now is to highlight the URL and copy (keyboard shortcut) then paste into the browser. Or use the PDF help file.

h)    USB, Graphics, and File System Support for PIC32

USB, Graphics, and File System support for PIC32MX/MZ is now migrated to MPLAB Harmony, downloadable from www.microchip.com/Harmony. API compatibility between MLA and Harmony will converge for some libraries in the long run. For example, Graphics Library v4.00 in both MLA and Harmony are already highly compatible with each other.

i)       API changes

There a number of reasons that lead to API changes. One is a shift to adopt a common naming convention to avoid long term naming collision. The naming convention is to go from module to sub-module, and to features/actions. As an example, a common macro in Legacy MLA GetPeripheralClock() is now SYS_CLK_FrequencyPeripheralGet(). Another reason is, when enhancing library capability and features, certain API changes are unavoidable.

j)      Not everything has been ported

Given the amount of changes, not everything has been ported. Again, during the transition period, both Current MLA and Legacy MLA are available. And overtime, more of what was in Legacy MLA will continued to be ported to the Current MLA; including libraries, demos, and hardware support. New additions will also be introduced. For example, in this release, Crypto and Crypto Hash libraries are new.

 

 

5.  Customer Support

The Microchip Web Site

Microchip provides online support via our web site at http://www.microchip.com. This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site contains the following information:

Development Systems Customer Change Notification Service

Microchip's customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.

To register, access the Microchip web site at www.microchip.com, click on Customer Change Notification and follow the registration instructions.

Additional Support

Users of Microchip products can receive assistance through several channels:

Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is available on our website.

Technical support is available through the web site at: http://support.microchip.com

Training

 

 

Trademarks:

The Microchip name and logo, the Microchip logo, MPLAB, and PIC are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.

Android is a trademark of Google Inc