Release Notes for MPLAB® IDE v8.30

Includes MPLAB Editor v4.30

March 23, 2009

Table of Contents

1 Operating System Support

2 Reference Documents

3 Minimum Required Configuration

4 Installing/Uninstalling MPLAB IDE

5 Network Administrator Information

6 Multiple Installations, Instances and Tool Usage

7 What's New in v8.30

8 Repairs and Enhancements Made in v8.30

9 Checksum Changes in v8.20

10 Linker Script Usage in MPLAB IDE Projects

11 Debug/Release Selection for Language Tools

12 Known Problems

13 Microchip Plug-In Tools

14 Customer Support

15 License Agreements

# 1 Operating System Support

This tool has been tested under the following PC operating systems:

Windows® 2000 SP4, Windows XP SP2*, and Windows Vista™ OSs*

* Several hardware tools now have 64-bit USB device drivers. See the table below.

Table: 64-Bit OS USB Device Driver Support by Tool

Tool Name | 64-Bit Support | No 64-Bit Support
MPLAB ICD 2 In-Circuit Debugger | P/N 10-00397 | P/N 10-00319
MPLAB PM3 Device Programmer | P/N 10-00398 | P/N 10-00359
MPLAB REAL ICE In-Circuit Emulator | All | None
MPLAB ICD 3 In-Circuit Debugger | All | None.
PICkit 2 Programmer/Debug Express | All | None
PICkit 3 Programmer/Debug Express | All | None
PIC32MX Starter Kit | All | None
MPLAB ICE 2000 In-Circuit Emulator with USB Converter | All | None

Tools associated with MPLAB IDE may not support the same operating systems as MPLAB IDE. See individual tool readme's for more information.

IMPORTANT NOTICE: Beginning with MPLAB IDE v7.51, MPLAB IDE and its related components (except those listed below) will no longer be tested on Windows 98, Windows ME, or Windows NT® OSs. MPLAB IDE and its related components may continue to work under these operating systems, but their operation will no longer be verified through testing.

· Microchip will continue to support Visual ProCMD and PM3CMD on Windows 98.

# 2 Reference Documents

The following documents may be found on our website or MPLAB IDE CD-ROM:

· MPLAB IDE Quick Start (DS51281)

· MPLAB IDE User's Guide (DS51519)

On-line help (Help>Topics) is also available for this tool:

· System>MPLAB IDE

· System>Editor

The default locations of the Help files are:

· C:\Program Files\Microchip\MPLAB IDE\Core\hlpMPLABIDE.chm

· C:\Program Files\Microchip\MPLAB IDE\Core\hlpMPLABEditor.chm

On-line Web Seminars are also available for this and other tools:

· Introduction to MPLAB IDE

· Introduction to Microchip’s Development Tools

# 3 Minimum Required Configuration

The following minimum configuration is required to run MPLAB IDE:

· PC-compatible Pentium®-class system

· Supported Windows operating system (see section 1)

· 128 MB memory (512 MB recommended)

· 400 MB of hard disk space

· Internet Explorer 5.0 or greater for installation and on-line Help

# 4 Installing/Uninstalling MPLAB IDE

Basic steps for installing/uninstalled MPLAB IDE are given below. For more information see the MPLAB IDE Help file.

To install MPLAB IDE on your system:

For some Windows OSs, administrative access is required in order to install software on a PC.

· If installing from a CD-ROM, place the disk into a CD drive. Follow the on-screen menu to install MPLAB IDE. If no on-screen menu appears, use Windows Explorer to find and execute the CD-ROM menu, menu.exe.

· If downloading MPLAB IDE from the Microchip web site (www.microchip.com), locate the download (.zip) file, select the file and save it to the PC. Unzip the file and execute the resulting setup.exe file to install.

To uninstall MPLAB IDE:

· Select Start>Settings>Control Panel to open the Control Panel.

· Double click on “Add/Remove Programs”. Find MPLAB IDE on the list and click on it.

· Click Change/Remove to remove the program from your system.

# 5 Network Administrator Information

Note to network administrators on installing MPLAB IDE v7.30 and later in a secure environment:

MPLAB_X_YY.MST file is a Windows installer transform file, located in the full zipped installation of MPLAB IDE vX.YY. This file can be used by domain administrators with Microsoft Active Directory and group policies to assign the application for software deployment in a security environment (local machines do not have admin rights). Microsoft Active Directory can be used to assign the application to local workstations. It has not been tested for "assigning/publishing to users." If this is a first time install, you may need to install the isscript10.msi first. Apply the transform file to the MPLAB_X_YY.MSI installation file in the group policy object (GPO). All of the files in the MPLAB IDE vX.YY full download zip must be located on a shared network directory.

# 6 Multiple Installations, Instances and Tool Usage

Versions of MPLAB IDE installed | Multiple (as of v7.00)
Instances of MPLAB IDE run | 1 (recommended)
Number of debuggers and programmers that can run at the same time under MPLAB IDE | Only 1 debugger or only 1 programmer (but not both)
Tools from the Tools menu that can be run with a debugger or programmer under MPLAB IDE | Any tool from the Tools menu

Multiple versions of MPLAB IDE may be INSTALLED on the same PC.

Note: You still may not RUN multiple versions of MPLAB IDE at the same time, i.e., only one version will be registered on the PC.

If necessary, you may switch between installed MPLAB IDE versions (i.e., change which one is registered). In general, to switch versions you simply double-click on the MPLAB IDE icon for the version you wish to run. A program named mpswitch.exe will run automatically in the background. The mpswitch.exe may take several minutes to complete. For specific details on switching between versions, see the MPLAB IDE Help file.

Just as you can only run one VERSION of MPLAB IDE on your system, you should only run one INSTANCE of MPLAB IDE. And in that one instance, you can only use one debug/programmer tool at a time.

Tools under the Tools menu may be used with either a debug or programmer tool. Obviously you can only choose one language toolsuite at a time in the Select Language Toolsuite dialog.

For more on these topics, see the MPLAB IDE Help file.

# 7 What's New in v8.30

· C compiler version displayed – The version for supported Microchip C compilers is shown in the “Select Language Toolsuite” and Output window during build.

· Warn about using multiple MPLAB IDE instances – A warning will pop up beginning with the second launching of MPLAB IDE.

· MPLAB PM3 Programming Executive – A programming executive, like a debug executive, is used when programming low pin count dsPIC DSC devices.

· MPLAB ICD 2 programming pins no longer held low – After MPLAB ICD 2 has programmed the target device using PGC/PGD, EMUC/EMUD and MCLR pins, these pins will be released instead of help low.

· DMCI updates – The data monitor and control interface now supports the PIC32 MCUs DMA real-time read/write. Also, automated event sequencing is also supported.

· Additional command line programmers – MPLAB REAL ICE in-circuit emulator and MPLAB ICD 3 in-circuit debugger now have command line programmer control.

· Additional KeeLoq support – Additional device KeeLoq programmer support.

· EDS data view – Memeory views that accommodate PIC24 MCU EDS.

· EEPROM variable byte view – Select 1, 2, or 4 byte data display in the EEPROM window.

· PIC32MX Starter Kit recovery – The starter kit device will now disallow incorrect bit values.

· PIC32MX MCU support on PICkit 3 – Additional device support.

## 7.1 What’s New in v8.21

· PIC32 Starter Kit – the initial release of this starter kit.

# 8 Repairs and Enhancements Made in v8.30

MPLAB-1574: Memory Gauge information is incorrect for the RAM PIC18F45K20 family

MPLAB-1560: 18F65J50 missing bank 15

MPLAB-1559: After building a large project changing focus to a different window and then back to MPLAB causes MPLAB to hang for 5 seconds. This happens any time you change focus back to MPLAB.

MPLAB-1558: DAC registers do not show up in MPLAB IDE File Register or SFR window for dsPIC33FJ64MC804.

MPLAB-1545: Quick build always builds as Debug mode. Quick build should build in Released Mode.

MPLAB-1543: A certain configuration bit will always read as a '0' on the silicon, but if hex file has a '1' in this location, verification on tool fails. Applies to PIC18F67J50.

MPLAB-1540: Memory Gauge showing incorrect negative memory data for devices PIC18F4520, PIC18F458, and PIC18F14k50.

MPLAB-1539: File Register location shows registers 0xF00 to 0xF7F to be dashed, but they should have data in this region. This affects 18F2620 and possibly others in the family.

MPLAB-1534: Outdenting a block of code does not behave as expected if the user's Tabs preference is set to 'Insert spaces'.

MPLAB-1530: Installation errors seen when installing MPLAB IDE in VISTA without turning UAC off or not running under ADMIN mode.

MPLAB-1526: Watch window address of SPI2BUF is in the incorrect place for the 24HJ32GP302.

MPLAB-1524: Using C18 v3.30, MPLAB IDE fails to build C projects for 18LF devices, displaying an error "Unknown processor '18LXXXXX' ".

MPLAB-1521: The MPLAB IDE Document Select dialog shows two listings for MPLAB ICD 2 Release Notes but has no listing for MPLAB ICD 3 Release Notes

MPLAB-1510: Errors in device file for the device family 18F87J90

MPLAB-1506: Last bit of SFRs are missing in watch window when SFR bit fields are expanded.

MPLAB-1500: For the PIC32MX family, the virtual address and value of structure of pointer as shown in watch window and local variable window does not match when using Real ICE. Local variables window shows incorrect values.

MPLAB-1492: [Find in Files] Find in file option to 'Look in subfolders' does not return matching strings.

MPLAB-1477: Bits 0-3 of CM2CON1 register are not implemented in .dev file for 18F14K50/18F13K50/18LF14K50/18LF13K50 family of devices.

MPLAB-1454: Workspace getting corrupted due to invalid command-line argument being added, when the user modifies the workspace to use language tools of previous versions. Applies to 18F family, Midrange, and Baseline Devices.

MPLAB-1434: Configure>Settings, Other tab, select Help does nothing.

MPLAB-1424: Remove Warning on 64-bit versions of Windows that state "MPLABE IDE does not currently support this OS"

MPLAB-1403: MPLAB IDE will crash if several backspaces are used on a source line that has a software breakpoint set.

MPLAB-1391: Comment lines starting with # in assembly files of PIC32 MCU are not turned green.

MPLAB-1316: Two devices in the DS70286 data sheet are missing shared addresses in the ECAN section. Applies to dsPIC33FJ256GP506 and dsPIC33FJ256GP510.

MPLAB-1315: MPLAB IDE hangs when the user does "Simulator->Run" while building (assembling and linking) a project.

MPLAB-1310: MPASM Assembler Help needs to be modified - Now there is only one version of MPASM Assembler is being provided MPASMWIN.

MPLAB-1221: Project -> Clean displays an incorrect warning in the output window when the source files are in different directories.

MPLAB-1158: With focus on a different Windows program, if the user clicks on the scrollbar in the MPLAB IDE editor and drags the scrollbar down, releasing the scroll bar results in the scrollbar popping back up to its initial position.

MPLAB-1125: When a large library is stepped into, the cursor gets lost.

MPLAB-1045: Failure to load MPLINK COFF file when building with relative output directory and "generate map file" option.

MPLAB-1020: The Data Memory Total displayed in the Memory Gauge is not correct for the PIC10F200 (the PIC10F202 is not correct either).

MPLAB-451: Project wizard adds the file highlighted by the mouse selection despite the keyboard selection of a different file

MPLAB-401: When a .s file that is a result of the build process is open in the editor and a build occurs that changes the .s file, the open editor window is not updated with the change.

MPLAB-320: "Run to Cursor" and "Set PC at Cursor" context menu items should be disabled when the MPLAB ICD 2 is not connected

# 9 Checksum Changes in v8.30

PIC24FJ16GA002/004, PIC24FJ32GA002/004, PIC24FJ48GA002/004, PIC24FJ64GA002/004 – Program Specification DS39768 checksum calculation has changed. Revision D of the programming spec has added several configuration bits to CW2 (bits 11-14, Flash Configuration Word 2) that are now part of the checksum calculation. The new checksum calculation has been updated in this version of the MPLAB IDE.

## 9.1 Checksum Changes in v8.20

PIC18F1230/1330 - Rev B to future silicon revisions will always set bit 3 of CONFIG4L (300006h) to a ‘0’. Therefore, the checksum configuration mask for this register will change from 0xF9 to 0xF1. The checksum calculation will no longer be adding this bit.

## 9.2 Checksum Changes in v8.14

· PIC18F4585/2585 – Configuration mask for configuration words 0x300008, 0x30000A, 0x30000C has been changed to 0x07 from 0x0F. This will enable the checksum to revert back to the older checksum calculation (v7.62 and older), while maintaining bit 3 to be a 1.

· PIC32MX440F128L – Device ID has changed to 0x6D. Therefore, the blank checksum reference has changed to accommodate this value.

# 10 Linker Script Usage in MPLAB IDE Projects

Linker script files are used by a linker to generate application code. You no longer need to add a device-specific linker script file to your project; the linker will find the appropriate file for you. Exceptions are:

· Projects using the MPLAB Assembler for PIC24 MCUs and dsPIC DSCs

· Projects where you want to specifically add an edited linker script file

See your language tool documentation for details.

# 11 Debug/Release Selection for Language Tools

For some language tools, MPLAB IDE provides an automated way to perform debug setup using the “Build Configuration” drop-down box on the Project Manager toolbar or the “Build Configuration” item on the Project menu.

To set up language tools for debug, select “Debug”. When your code is debugged and you are ready to release it (program the finished code into a device), select “Release”.

For more information, see MPLAB IDE Help, MPLAB IDE Features>Debug Features>Build Configuration.

# 12 Known Problems

The following is a list of known problems. For information on common problems, error messages and limitations, please see the online help file for MPLAB IDE (hlpMPLABIDE.chm). Bolded prefix represents internal tracking numbers.

· Launch Issues

· Operating System Issues

· General Issues

## 12.1 Launch Issues

Problems launching MPLAB IDE.

This could be caused by a corrupted workspace file.

1. Exit MPLAB IDE.

2. Remove or rename the workspace file.

3. Run the executable in the C:\Program Files\Microchip\MPLAB IDE\Utilities\SetDefaultMPLABStartup folder.

4. Start MPLAB IDE.

Docked windows can be placed outside of the IDE program boundaries. Therefore, it may be difficult to locate these windows when switching to a different monitor. Here are some steps that will reset this information:

1. Exit MPLAB IDE.

2. Remove or rename the workspace file.

3. Run the executable in the C:\Program Files\Microchip\MPLAB IDE\Utilities\SetDefaultMPLABStartup folder.

4. Start MPLAB IDE.

The splash screen flashes, but MPLAB IDE will not launch

When you try to start MPLAB IDE, the splash screen flashes by, but the application does not launch.

(1) Applies to MPLAB IDE versions 7.01 and 7.10:

Occurs on PCs with non-administrator (user-only) privileges.

Note: Administrator rights are required to install, but should not be required to run.

The workaround is to modify the target path on the MPLAB IDE shortcut and append the option -noswitch:

mplab.exe -noswitch

You can reach the target path by selecting the MPLAB IDE icon on the desktop, right-clicking properties, and then selecting the shortcut tab.

(2) Applies to MPLAB IDE version 7.61a:

You will need to remove the following entry from the PC registry:

[-HKEY_CURRENT_USER\Software\Microchip\MPLAB IDE\DebugDisplays]

Select Start>Run, enter regedit or regedt32 after “Open”, and click OK to open the registry for editing.

MPLAB IDE used to work, but now it will not launch

Items to check are:

· Did you recently install another version of MPLAB IDE? Please see section 6 for information on switching between versions of MPLAB IDE.

· Did you recently install other software? If so, it may have overwritten a system DLL in such a way that other applications cannot use it. Consult the software documentation and the Windows OS documentation to determine how to repair or reinstall the correct system DLL.

· Did you recently edit your PC registry? MPLAB IDE uses the registry to find related files. Try reinstalling MPLAB IDE.

· Do you have virus protection software on your machine? Try other programs on your PC to see if they are functioning correctly. If not, you may have a virus.

## 12.2 Operating System Issues

· Once the program is installed and you attempt to run it, you might receive an error stating that a dll file failed to register. This is caused when the Windows OS does not allow the MPLAB IDE installation to register the file for some reason. You will need to select Start>Programs>Microchip>MPLAB IDE vx.xx>Setup MPLAB Tools and run Repair to install and register the file.

### 12.2.1 Windows Vista OS

MPLAB-813: You must turn off User Account Control in order to switch between MPLAB IDE versions. This is accessed through the Control Panel > User Accounts > Turn User Account Control on or off.

MPLAB-938: Build problems seen while building a CCS project. Sometimes a project builds fine, and sometimes it fails. At this time, CCS does not support Vista.

### 12.2.2 Windows 98, Windows ME, Windows NT OSs

IMPORTANT NOTICE: Beginning with MPLAB IDE v7.51, MPLAB IDE and most components will no longer be tested on Windows 98, Windows ME, or Windows NT. MPLAB IDE and its related components may continue to work under these operating systems, but their operation will no longer be verified through testing.

· On Windows 98/ME, for every open Editor window, a message box entitled "File Time warning" appears with the content, "The parameter is incorrect". This happens after a build or after minimizing and restoring the application's main window.

Fix: Close MPLAB IDE and run the batch file located, by default, at:

C:\Program Files\Microchip\MPLAB IDE\Core\Editor\Register Old Editor 9x.bat

Restart MPLAB IDE and select Help>About MPLAB IDE. Verify that MPEditor.dll, and not MPEditor4.dll, is registered. If the batch file fails, you may need to update your PATH to include the path to regsvr32.exe (wherever it is installed on your system.)

· "File not found" error on Windows NT systems, usually from an import or project manager build. This is a Windows NT v4.0 issue, not an MPLAB IDE issue. Update Windows NT v4.0 with service pack or set registry flag HK_CU\Network\DeferFlags = 1. For more information, see: http://support.microsoft.com/default.aspx?scid=kb;en-us;169138

SSR 21029: While most Windows NT users have been able to use the MPLAB IDE, a limited number of these users have reported being unable to run MPLAB IDE. Microchip Development Tools has determined that one cause of this problem is that Windows Desktop Update is not installed on the user's PC. See the Microsoft web site for more information about the Windows Desktop Update. Another cause of the problem may be due to a registration problem; the work-around: run register.bat in the dll subdirectory of the MPLAB IDE installation directory.

## 12.3 General Issues

· MPLAB IDE v8.01 workspaces are incompatible with previous workspaces. Open the project file (.mcp) and reselect the device and other configuration settings before saving as a new workspace.

· When opening a workspace/project, MPLAB IDE crashes. The workspace/project file may be corrupt or from a previous version. Try opening a different workspace/project or MPLAB IDE alone as a test. If the workspace file (.mcw) is corrupt or from a previous version, delete it and then open the project file (.mcp). In this case, you may have to reselect the device and other configuration settings before saving as a new workspace. If the project file is corrupt (.mcp), you will have to rebuild the project.

· "Access Denied" message when trying to open a workspace. Make sure the workspace and related files have not been set to read-only, i.e., right-click on a file, select "Properties", and check that "Read-only" is NOT selected.

· Some language (build) tools may have problems if you use spaces, illegal characters or long file names for the file or project name. Consult the language tool documentation for details.

· If your language tools do not work correctly after installing this version of MPLAB IDE, go to our website or third party website to get the latest version of your language tool. If you have purchased the tool, contact your sales rep for an upgrade.

· LCD Pixel View does not support these devices: PIC18F64J90, PIC18F65J90, PIC18F8393, PIC18F83J90, PIC18F8493, PIC18F84J90, PIC18F85J90.

SSR 23550: While in Animate mode, if you select File>Exit, MPLAB IDE will crash.

SSR 25806: [COFF] dsPIC disassembly listing shows address rather than Wreg number.

MPLAB-572: Error messages are not properly centered when using dual monitors.

To move any window that may be in focus which you can not see: Pressing Alt+<space> brings up the top left icon menu of the dialog followed by M to move the display then you can use the left or right, up or down arrows to move the display.

MPLAB-661: Call Stack Window: Simulator can hang when stepping through MPLAB C30 optimized code with the Call Stack window open.

MPLAB-1163: long long types are not supported in COFF (for 16-bit language tools), which could affect debug support.

MPLAB-1302: [KUSEG] Virtual address column of Memory window does not refresh correctly when there is an overlap due to incorrect linker. Even after correcting linker script, it shows old value

MPLAB-1345: [C32 build options] - The 'Exclude floating-point library' check-boxes available under 'MPLAB PIC32 C compiler' and 'MPLAB PIC32 Linker' should shadow each other.

MPLAB-1353: When files generated by the build are placed into the ‘Others’ folder in the Project window, a plug-in exception occurs.

MPLAB-1399: When using the PIC32 Starter Kit, selecting Reset may result in the SK running with the toolbar grayed out.

MPLAB-1460: Using dual screens, with MPLAB IDE moved to a second screen, watch window mouseovers will appear on the first screen. Dual monitor systems depend on the configuration of the video display cards. Typically, the setting that provides correct mouseover positions is: “Extend my desktop onto this monitor”.

MPLAB-1489: PIC32MX devices - MPLAB IDE overwrites PWP bits of the configuration register (DEVCFG0) to default value 0xff. MPLAB IDE ignores config bit set in the code.

MPLAB-1517: PIC32MX devices - [Call Stack] Call Stack window displaying function parameters value incorrectly.

MPLAB-1589: dsPIC33FJ32GP304 - The RTCC Calibration and Configuration Register 'RCFGCAL' is wrongly called 'RTCCFG' in the MPLAB IDE. According to the datasheet DS70292B, the RTCC Calibration and Configuration Register, with address 0x0626, must be called 'RCFGCAL' and not 'RTCCFG'.

# 13 Microchip Plug-In Tools

MPLAB IDE supports a number of Microchip plug-ins under its Tools menu.

Microchip Tool | Device Support | Help File
AN908 ACIM Tuning Interface | dsPIC30F DSCs | hlpAN908.chm
AN901 BLDC Tuning Interface | dsPIC30F DSCs | hlpAN901.chm
Data Monitor Control Interface | N/A | hlpDMCI.chm
dsPIC Filter Design | dsPIC30F/33F DSCs | hlpdsPICFD.chm
KeeLoq Plugin | Secure Data Devices (HCS) | hlpKEELOQ.chm
Memory Starter Kit | Memory devices (serial EEPROM) | See included user’s guide (DS22087)
MPLAB Macros | N/A | hlpMPLABIDE.chm
RTOS Viewer | Same as RTOS used* | hlpMPLABIDE.chm

* The RTOS Viewer is part of MPLAB IDE. The actual RTOS is third party.

Third-Party Tools: See the Readme for Third Party Tools.htm for more on supported third-party tools.

Debuggers, Programmers, and Starter Kits: See the individual tool Readme files or other documentation for more information on each tool.

# 14 Customer Support

## 14.1 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:

· Product Support - Data sheets and errata, application notes and sample programs, design resources, user's guides and hardware support documents, latest software releases and archived software

· General Technical Support - Frequently Asked Questions (FAQs), technical support requests, online discussion groups/forums (http://forum.microchip.com), Microchip consultant program member listing

· Business of Microchip - Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives

## 14.2 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.

The Development Systems product group categories are:

· Compilers – The latest information on Microchip C compilers, assemblers, linkers and other language tools. These include all MPLAB C compilers; all MPLAB assemblers (including MPASM™ assembler); all MPLAB linkers (including MPLINK™ object linker); and all MPLAB librarians (including MPLIB™ object librarian).

· Emulators – The latest information on Microchip in-circuit emulators. These include the MPLAB REAL ICE™, MPLAB ICE 2000 and MPLAB ICE 4000 in-circuit emulators

· In-Circuit Debuggers – The latest information on Microchip in-circuit debuggers. These include the MPLAB ICD 2 in-circuit debugger and PICkit™ 2 debug express.

· MPLAB® IDE – The latest information on Microchip MPLAB IDE, the Windows® Integrated Development Environment for development systems tools. This list is focused on the MPLAB IDE, MPLAB IDE Project Manager, MPLAB Editor and MPLAB SIM simulator, as well as general editing and debugging features.

· Programmers – The latest information on Microchip programmers. These include the MPLAB PM3 and PRO MATE II device programmers and the PICSTART® Plus and PICkit 1 and 2 development programmers.

## 14.3 Additional Support

Users of Microchip products can receive assistance through several channels:

· Distributor or Representative

· Local Sales Office

· Field Application Engineer (FAE)

· Technical Support

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

# 15 License Agreements

Microchip’s license agreement accompanying the MPLAB IDE governs your use of the software. In addition, certain files or code accompanying this software are governed by third party licenses. You are responsible for complying with these license agreements. For your convenience, we have posted the third party licenses below.

## 15.1 Copyright notice for strlcpy() and strlcat()

Copyright (c) 1998 Todd C. Miller Todd.Miller@courtesan.com
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

5. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

6. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

7. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

## 15.2 Copyright notice for Henry Spencer's implementation of regex

Copyright (c) 1992 Henry Spencer.
Copyright (c) 1992, 1993
The Regents of the University of California. All rights reserved.

This code is derived from software contributed to Berkeley by Henry Spencer of the University of Toronto.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

4. This product includes software developed by the University of California, Berkeley and its contributors.

5. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@(#)regex.h 8.2 (Berkeley) 1/3/94

## 15.3 License notice for Apache Xerces

=========================================================================

NOTICE file corresponding to section 4(d) of the Apache License,

Version 2.0, in this case for the Apache Xerces distribution.

=========================================================================

This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Portions of this software were originally based on the following:
- software copyright (c) 1999, IBM Corporation., http://www.ibm.com.

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

## 15.4 Pathan Open Source License

DecisionSoft Open Source Software is copyrighted software available under the DecisionSoft Open Source License (see below), based on the BSD License (http://www.opensource.org/osi3.0/licenses/bsd-license.php).

Pathan 1 and Pathan 2 dynamically link against, and include a modified header file from Xerces-C by the Apache Software Foundation. Xerces-C is covered by the Apache Software License (see previous section.)

Pathan includes software developed by the Apache Software Foundation (http://www.apache.org/).

DecisionSoft Open Source License

DecisionSoft Open Source Software is copyrighted software available under the DecisionSoft Open Source License, based on the BSD License.

The DecisionSoft Open Source License

This license is based on the BSD License template.

Copyright (c) 2003, DecisionSoft Limited

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of DecisionSoft Limited nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

## 15.5 zlib License

/* zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.3, July 18th, 2005

Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied

warranty. In no event will the authors be held liable for any damages

arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,

including commercial applications, and to alter it and redistribute it

freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not

claim that you wrote the original software. If you use this software

in a product, an acknowledgment in the product documentation would be

appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be

misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly jloup@gzip.org

Mark Adler madler@alumni.caltech.edu

*/