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
3. What’s New, Changed, and Migration
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.
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.
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 .
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 |
For more information about the specific changes in this revision, please refer to the Revision History section of the USB Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the Graphics Library Help file.
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.
For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto SW Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto 16BV1 Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the Crypto Hash Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the Smart Card Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the MiWi Library Help file.
For more information about the specific changes in this revision, please refer to the detailed release notes in the TCPIP Library Help file.
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.
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:
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.
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
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