Microchip Technology Inc
Menu

MPLAB® XC Compilers

Microchip’s line of award-winning MPLAB® XC C Compilers provides a comprehensive solution for your project’s software development and is offered in free, unrestricted-use downloads. Finding the right compiler to support your device is simple:

  • MPLAB XC8 supports all 8-bit PIC MCUs
  • MPLAB XC16 supports all 16-bit PIC MCUs and dsPICs
  • MPLAB XC32/32++ supports all 32-bit PIC MCUs

EDN-Award

China Ace Award

ECN-Award_03

MPLAB_XC_COMPILER_Logo_011216_03
Webinars-Buttons[complier-family-grn]

Features


When combined with Microchip’s award-winning, free integrated development environment, MPLAB® X IDE, the full graphical frontend provides:

  • Editing errors and breakpoints that match corresponding lines in the source code
  • Single stepping through C and C++ source code to inspect variables and structures at critical points
  • Data structures with defined data types, including floating point, display in watch windows

 

 

MPLAB® XC Compiler Optimizations


 

The optimizations found on MPLAB® XC C Compilers provide code size reductions and speed enhancements that benefit your design projects. PRO license is available for designs that require maximum code reductions and best performance. The MPLAB® XC C Compiler contains a free, 60-day trial of a PRO license for evaluation when activated.

MPLAB® XC C Compiler Licenses – Go PRO

Need to optimize your code size reduction or get better speed from your project’s software? PRO licenses are available to unlock the full potential of the MPLAB XC C compiler’s advanced-level optimizations. See our list of flexible licensing options in the Features section below.

Tabs / MPLAB XC
Additional Information
Downloads
Documentation
Compiler FAQs

Features Extended

PRO and License Types

MPLAB XC C Compiler licenses come in a wide variety of licensing options and most come with one year of High Priority Access (HPA), which provides:

  • Unlimited advanced optimizations on new compiler versions
    • New architecture support
    • Bug fixes
    • Priority technical support
    • Free shipping on Microchip Direct for all development tool orders
    License Type Installs On # of Activations # of Users Wait Time Between Users HPA
    Workstation License Workstation 3 1 None Yes
    Subscription License Workstation 1 1 None No
    Site License Network 1 Varies by Seat None Yes
    Network Server License Network 1 Unlimited One Hour Yes
    Virtual Machine * Network 1 N/A N/A No
    Dongle License Dongle N/A Unlimited None No

    *This is license must be used in addition to a network server or site license to enable the license to work in a virtual machine environment.

    Webinars-Buttons[compiler-licenses]

    Workstation License

    The workstation license is installed on the user’s workstation and comes with three activations for a single user. This is the most commonly used license type.

    • Intended for use by a single user
    • Can be installed on up to three workstations (desktops and laptops)
    • Available in PRO Edition only

    For more information see:

    Subscription License

    The subscription license is installed on a workstation and is automatically renewed every month through purchasing information stored in a Microchip Direct account and an internet connection, using MPLAB X IDE version 3.15 and later.

    • One user per license
    • Comes in PRO Edition
    • Can be cancelled or renewed in one month increments at will through the user’s mySoftware account and MPLAB X IDE
    • Cancellation takes place when the subscription month has expired
    • Requires MPLAB X IDE version 3.15 and later for automated renewal
    • Includes unlimited updates to new compiler versions without the need for HPA
    • Requires an internet connection for automatic renewal
      • License files are loaded automatically through MPLAB X IDE every month while the subscription is active

    For more information see:

    Site License

    The site license is installed on a network and can be quoted for seats of five and greater, which can be mixed between any of the compilers: MPLAB XC8, MPLAB XC16 and MPLAB XC32. Please contact a local sales office for more information and a quote:

    • Intended to have one user per seat and installed on a network
    • Restricted to the number of seats purchased
    • Allows for volume pricing
    • Has a loan-out feature, so the license can be used like a node locked license for a specific amount of time (one month maximum on loan out)
    • Available in Pro Edition only

    For more information visit the MPLAB XC Site License page.

    Network Server License

    • Intended to have multiple users and can be installed on a network
    • Restricted to use by one user at a time. The license is available to the other users one hour after a compile takes place.
    • Might otherwise require a large number of compilers
    • Great for use by global companies with multiple design centers
    • Has a loan-out feature so that a license can be run like node locked for a specific amount of time (one month maximum on loan out)
    • Available in Pro Edition only
    Webinars-Buttons[network]

    For more information visit the MPLAB XC PRO Network Server License page.

    Virtual Machine License

    The MPLAB® XC Virtual Machine License for Network Licenses is an add-on license for:

    • MPLAB XC8, XC16 and XC32 PRO Network Server Licenses
    • MPLAB XC8, XC16 and XC32 PRO Site Licenses

    This add-on license allows network licenses to be compatible with a virtual machine. One license will be needed for each virtual machine network and must be installed in addition to a network server or site license. More information can be found on the MPLAB XC Virtual Machine License page.

    Dongle License

    The MPLAB® XC Dongle License is a plug-and-play license that can be used interchangeably among workstations and users.

    • License file is installed on a dongle (USB flash drive)
    • Intended for multiple users and mobile use – plug into the workstation’s USB and go
    • Includes unlimited updates to new compiler versions without the need for HPA (perpetual license)
    • One dongle license is needed for each compiler type – MPLAB XC8, MPLAB XC16 and MPLAB XC32/XC32++

    More information can be found on the MPLAB XC Dongle License page.

    Trial 60-Day PRO License

    A trial PRO license for the MPLAB XC C Compiler can be activated to give 60-days of PRO compiler operation for evaluation. The trial can be activated when installing the compiler either by clicking on a link during installation, or by clicking here: Evaluation License.

     
MPLAB XC32++: Compiler - Free Offer

The MPLAB XC32++ compiler adds the flexibility to develop and reuse C++ projects and components for all 32-bit MCU devices with the following benefits:

  • Compliant with the majority of C++98 and C++ 2003 ANSI standards
  • Includes Dinkumware Standard C++ Library
  • Can be used with all C++ or mixed C/C++ projects in MPLAB XC
  • All Microchip C language extensions are available for use

Microchip is offering a special edition of our C++ compiler software completely free for filling out a short registration.

 
High Priority Access (HPA) - Compiler Maintenance and Support

Compiler Maintenance and Support


MPLAB XC PRO comes with 12 months of High Priority Access (HPA), a support and maintenance service. HPA must be renewed at the end of twelve months. HPA includes:

  • Priority technical support
  • New part support
  • New architecture support
  • New compiler version and patch level updates
  • Free shipping on Microchip Direct for all development tool orders
Learn More

Legacy MPLAB C and HI-TECH Compilers


All new designs should be created with the MPLAB XC as the legacy systems will be phased out. All data on the legacy systems can be found here.

 
Part Support Patch Files

These installation files update a previously installed compiler with information it needs to support more recent Microchip devices.

Part Support Patches

  • Will update new device-specific information: header files, linker scripts and memory configuration files.
  • Will not add new functionality or optimizations to your compiler
  • Will not provide corrections to the compiler's operation

Part support patches allow for the selection of new devices not provided originally by the compiler, and use those devices' SFRs and other features in a project. A part support patch is only needed when using a device that is not available in a compiler.

Part-support patch file names include a corresponding compiler version number. If the patch file is used to update the corresponding compiler, then all added parts will work. Part-support patches can be applied an older compiler, but not all devices added by the patch are guaranteed to work in the older compiler.

Any support for new devices added by a part support patch will be incorporated into all subsequent compiler releases. Once an update to a more recent compiler version is completed, part support patches will no longer be needed for those devices. For example, if version 1.30 part support patch is applied to version 1.30 compiler to use a new device, the device-specific information contained in the patch will already be present in the subsequent 1.31 compiler release.

The compiler's release notes list new devices that it supports. Part-support patches have their own release notes, indicating all the devices the support. Part-support updates are available free of charge - no HPA is required.

 

Compilers

Title Date Published Size D/L
Windows (x86/x64)
MPLAB® XC8 Compiler v1.43 8/1/17 99.0 MB ZIP
MPLAB® XC16 Compiler v1.32B 8/25/17 78.4 MB ZIP
MPLAB® XC32 Compiler v1.44 7/13/17 210.3 MB ZIP
Linux 32-Bit and Linux 64-Bit (Requires 32-Bit Compatibility Libraries)
MPLAB® XC8 Compiler v1.43 8/1/17 98.8 MB ZIP
MPLAB® XC16 Compiler v1.32B 8/25/17 78.8 MB ZIP
MPLAB® XC32 Compiler v1.44 7/13/17 210.8 MB ZIP
Mac (10.X)
MPLAB® XC8 Compiler v1.43 8/1/17 92.6 MB ZIP
MPLAB® XC16 Compiler v1.32B 8/25/17 78.4 MB ZIP
MPLAB® XC32 Compiler v1.44 7/13/17 212.3 MB ZIP
Release Notes
MPLAB® XC8 Compiler v1.43 8/1/17 522 KB PDF
MPLAB® XC16 Compiler v1.32B 8/25/17 115 KB PDF
MPLAB® XC32 Compiler v1.44 7/13/17 292 KB PDF

Latest Part Support Patch Files

Adds new device-specific information to a compiler, but does not update the base compiler. More Information

Title Date Published Size D/L
Windows (x86/x64)
MPLAB® XC8 Compiler Part-Support Patch v1.43 8/1/17 53.7 MB ZIP
MPLAB® XC16 Compiler Part-Support Patch v1.32B 8/25/17 35.5 MB ZIP
MPLAB® XC32 Compiler Part-Support Patch v1.44 7/13/17 38.5 MB ZIP
Linux 32-Bit and Linux 64-Bit (Requires 32-Bit Compatibility Libraries)
MPLAB® XC8 Compiler Part-Support Patch v1.43 8/1/17 53.3 MB ZIP
MPLAB® XC16 Compiler Part-Support Patch v1.32B 8/25/17 35.5 MB ZIP
MPLAB® XC32 Compiler Part-Support Patch v1.44 7/13/17 38.5 MB ZIP
Mac (10.X)
MPLAB® XC8 Compiler Part-Support Patch v1.43 8/1/17 53.5 MB ZIP
MPLAB® XC16 Compiler Part-Support Patch v1.32B 8/25/17 36.5 MB ZIP
MPLAB® XC32 Compiler Part-Support Patch v1.44 7/13/17 39.5 MB ZIP
Release Notes
MPLAB® XC8 Compiler Part-Support Patch v1.43 8/1/17 48 KB PDF
MPLAB® XC16 Compiler Part-Support Patch v1.32B 8/25/17 30 KB PDF
MPLAB® XC32 Compiler Part-Support Patch v1.44 7/13/17 38 MB PDF

Network Server Installer

Title Date Published Size D/L
Network Server Installer
Download the appropriate file to install and license an MPLAB XC Network Server License or MPLAB XC Site License
Network Server Installer - Windows v2.00 9/6/14 8.2 MB ZIP
Network Server Installer - Linux v2.00 1/21/15 8.2 MB ZIP
Network Server Installer - MAC v2.00 12/10/14 8.1 MB ZIP
Release Notes 12/10/14 1.2 MB ZIP

Peripheral Libraries (PLIBS)

MPLAB® XC Compilers - Frequently Asked Questions (FAQs)

Questions

  1. How many machines can the MPLAB XC license be installed on?
  2. What are the different modes that the MPLAB XC Compiler offers? What are the typical optimization levels of the different modes of the compiler?
  3. How can I purchase a compiler?
  4. Is it possible to reset my MPLAB XC Compiler license so that I can install it on other machines?
  5. How can I register my newly purchased MPLAB XC compiler license key?
  6. I have a Workstation License, but find I need a network server license. Is there a way to change my license type from Workstation License to Network Server License?
  7. If I purchase an MPLAB XC Compiler, am I entitled to the older versions of the compiler?
  8. Can I install multiple compilers on the same machine?
  9. Can I install different versions of MPLAB XC compiler on the same machine?
  10. My HPA is not active. Can I upgrade to a newer release of my compiler?
  11. Can you extend the evaluation period in my MPLAB XC Free compiler so that I can evaluate the MPLAB XC PRO compiler for an extended period?
  12. Why am I encountering issues evaluating the licenses?
  13. Can the MPLAB XC compilers work with the MPLAB X IDE and the MPLAB IDE?
  14. Can I perform off-line activation on a demo (evaluation) version of the MPLAB XC compiler?

Answers

  1. How many machines can the MPLAB® XC license be installed on?

    • The Workstation License can be installed on 3 machines for a single user.  The license will support a MPLAB XC8, XC16, or XC32 compiler.
    • The Network Server License runs from a server (one of the machines in the network) and can enable the PRO or STD mode of the compiler on multiple machines across different locations. TheNetwork license has two  components, the network server and the network client. The network server can distribute the license files to one of the client machines connected to it.  The network clients consist of the compilers, configured to check out the licenses from the license server.
      • When a client connects to the server, it checks to see if a license is available.
        If so, it will claim the license and place a lock on it.  While that lock is in place, no other clients can claim the license. The lock will automatically be released one hour after the "locking" client last uses the license.
        Other network clients will need to wait that hour before they can claim and place a lock on the license.
        There is no limit on the number of users that can install the Network Server License.
    • Site licenses run from a server and can be installed on multiple machines, similar to the network license. However, there is no one hour locking after a client last uses the license, instead the license is locked by the number of seats purchased.
    • A Subscription license can be installed on a workstation machine.  A Subscription license allows one user per license and is available only in PRO mode edition.
    • The XC license can be installed on every major platform, including Linux, Windows, and Mac OS X 32-bit and 64-bit versions. If a virtual machine is required, an additional license will be needed, which can be purchased here: MPLAB XC Virtual Machine License for Network Licenses.

    What are the minimum system requirements for installation of the MPLAB XC Compilers?

    Microsoft Windows 7 Professional/Windows 8/Windows 10

    • Processor: 800 MHz Intel Pentium III or equivalent
    • Memory: 512 MB

    Ubuntu 9.10:

    • Processor: 800 MHz Intel Pentium III or equivalent
    • Memory: 512 MB

    Macintosh OS X 10.5 Intel:

    • Processor: Dual-Core Intel (32 or 64-bit)
    • Memory: 512 MB

    Other Configurations

    The compiler may also run on the various other Linux distributions such as Oracle Enterprise Linux 5, Ubuntu 8.x and 10.04, Red Hat Enterprise Linux and many others.

  2. What are the different modes that the MPLAB XC Compiler offers? What are the typical optimization levels of the different modes of the compiler?

    Yes, MPLAB XC compilers can be operated in different modes: PRO, Standard and Free*.
    The difference between these modes is:

    PRO


    Standard


    Free*


    All devices and memory supported


    All devices and memory supported


    All devices and memory supported


    Optimized
    50% better than Free


    Optimized
    20-25% better than Free


    Minimal optimization


    Commercial use permitted


    Commercial use permitted


    Commercial use permitted


    *Free comes with a 60-day evaluation of the PRO compiler that can be turned on whenever you like.

    PRO:
    • 50-60% smaller code than the Free  Edition
    • Execution speed much faster than Free Edition, a little faster than the Standard Edition
    • Includes an initial 12 months of High Priority Access (HPA) support
    • Allows for the use of the Standard and Free Compilers
    Standard:
    • 20-25% smaller code than the Free Edition
    • Execution speed much faster than the Free Edition
    • Allows for the use of the Free Compiler
    Free:
    • FREE Perpetual Free Compiler
    • Minimal level of optimization

    Commercial use is permitted for all the Compilers (PRO, Standard and Free), plus all devices products supported by all the compilers in all 3 modes (PRO, Standard and Free).

    To sum up:
    The PRO Code is 50% more optimized than the code generated in the Free compiler, and 20-30% more optimized than what is generated in the Standard compiler.  The optimization is in terms of efficient code generated and the reduction in code size.

  3. How can I purchase a compiler?

    Compilers can be purchased from one of Microchip’s distributers or from Microchip Direct at: www.microchipdirect.com

    • Search for “XC” or search on one of the part numbers below:
    Compiler Edition
    Part Number
    MPLAB® XC8 - PRO Compiler Network Server License
    SW006021-2N
    MPLAB® XC16 PRO Compiler Network Server License
    SW006022-2N
    MPLAB® XC32   PRO Compiler Network Server License
    SW006023-2N
    MPLAB® XC8   PRO Compiler Workstation License 
    SW006021-2
    MPLAB® XC16 PRO Compiler Workstation License
    SW006022-2
    MPLAB® XC32 PRO Compiler Workstation License
    SW006023-2
    MPLAB® XC8   Standard Compiler Network Server License
    SW006021-1N
    MPLAB® XC16 Standard Compiler Network Server License
    SW006022-1N
    MPLAB® XC32  Standard Compiler Network Server License
    SW006023-1N
    MPLAB® XC8   Standard Compiler Workstation License
    SW006021-1
    MPLAB® XC16 Standard Compiler Workstation License
    SW006022-1
    MPLAB® XC32 Standard Compiler Workstation License
    SW006023-1

    Note: Site licenses can only be purchased through Microchip sales personnel.

    All licenses, except for the Subscription license comes bundled with a 1 Year HPA (High Priority Access). 
    HPA entitles you to:

    • 12-month maintenance and support contract
    • New architecture support, compiler releases
    • Major version updates
    • Access to the latest Windows, Linux and OSX compatible versions of the compiler
    • Priority technical support

    If a Network server license needs to be installed on a Virtual Machine Server, an additional license will be needed, which can be purchased here:

    http://www.microchipdirect.com/ProductSearch.aspx?keywords=SW006021-VM

  4. Is it possible to reset my MPLAB® XC Compiler license so that I can install it on other machines?

     

    Resetting an MPLAB XC Compiler License is not possible. A Workstation License can be installed on 3 machines. If you wish to install it on more machines, it is recommended that you purchase another license.  The key is tied to the MAC address of the computer.  Therefore, you will be able to uninstall and re-install the installation with no issues on the same machine.

    However, if you have a problem with one of the machines the license is installed on, or need to upgrade that machine, contact SWLicensing@microchip.com for assistance.

     

  5. How can I register my newly purchased MPLAB XC compiler license key?

    If you purchased your license through Microchip Direct, the MPLAB XC activation key will automatically be registered to your Microchip Direct account. However, if you purchased through a distributor, you must create a mySoftware account at: www.microchip.com/mysoftware. If you already have a Microchip Direct account, you will also have a mySoftware account. Use your Microchip Direct login credentials to access the account at www.microchip.com/mysoftware. If you do not have a Microchip Direct account, you will need to create a mysoftware account. Once you are inside your mysoftware account, click on ‘Activate and Register MPLAB software’ listed as a link on the left side column of selections and follow the instructions to activate and register the license.

  6. I have a Workstation License, but find I need a network server license. Is there a way to change my license type from Workstation License to Network Server License?

    Changing from a Workstation License to a Network Server License is possible and may involve returning your workstation compiler and purchasing a network server compiler. Contact Software Licensing for more details at: swlicensing@microchip.com

  7. If I purchase an MPLAB XC Compiler, am I entitled to the older versions of the compiler?

    Yes, you are entitled to older versions of the MPLAB XC Compilers. Please keep in mind that the MPLAB XC Compiler license does not support any of the HI-TECH (PICC or PICC18) or MPLAB C Compilers (MPLAB C18, MPLAB C30, or MPLAB C32).

     

  8. Can I install multiple compilers on the same machine?

    Yes, multiple compilers can be installed on the same machine.
    As an example, you can install the MPLAB® XC8, MPLAB XC16 and MPLAB XC32 all on the same machine.

  9. Can I install different versions of MPLAB XC compiler on the same machine?

    Yes, you can install different versions of MPLAB XC compiler on the same machine. e.g. You can install MPLAB XC16 v1.00 and XC16 v1.10 on the same machine in different paths.

  10. My HPA is not active. Can I upgrade to a newer release of my compiler?

    Please update your HPA to be able to upgrade to the PRO or STD mode of the latest MPLAB XC compilers, and to access new features and enhancements.To renew your HPA, please refer to the following link:

    http://ww1.microchip.com/downloads/en/DeviceDoc/50002208A.pdf

    Note: If your HPA is not active, you can still upgrade to the newer release of the compiler with only FREE mode optimizations (PRO and STD mode will not be available for use with the newer release if your HPA has ended).
     
    You are also entitled to part support release of the compiler.  The part support release consists of support files for the newer parts introduced with the newer compiler release and needs to be installed on top of your compiler installation.

    Latest support patches. 

    Keep in mind that these support files do not provide any new features or contain any additional compiler architectural enhancements that may be needed for new devices.

     
  11. Can you extend the evaluation period in my MPLAB XC Free compiler so that I can evaluate the MPLAB XC PRO compiler for an extended period?

    The evaluation period of the compiler cannot be extended. If you wish to maintain the same level of functionality, you can purchase an MPLAB XC compiler from Microchip Direct or a distributor.

  12. Can the compiler license be activated through a command line?

    No, command line activation is no longer supported.

  13. Why am I encountering issues evaluating the licenses?

    Evaluation mode provides PRO mode optimizations for 60 days and returns to Free mode optimizations after 60 days.  If you are encountering issues using the evaluation license, please check the following:

    • Check the status of your evaluation MPLAB XC License by executing the command: xclm –demostat                 <PRODUCT>


      This command shows the number of days left on the Evaluation license.

    Evaluation licenses are valid up to 60 days and cannot be evaluated any further after this time frame.  After the evaluation period, you may purchase a MPLAB XC compiler from MicrochipDirect or a distributor if you want to maintain the same PRO optimization features. 

    The Evaluation license will return to Free Mode Optimizations if any of the following is attempted:

    • Modifying the system date or time after the installation of the license
    • Modifying the ‘.lic’ file and try to change its contents
    • Deleting the compiler license ‘.lic’ file and re-running the evaluation license
    • Downloading the evaluation license again from the Evaluation license page.
  14. How can I get an Evaluation license for the MPLAB XC Compiler?

     

    The evaluation license can be activated by visiting this page: http://www.microchip.com/xcdemo/getdemolicense.aspx

  15. How can the MPLAB XC compilers be configured under the MPLAB X IDE?

    To configure the XC compiler under MPLAB X IDE, install the IDE and the compiler. The compiler should be automatically configured under the MPLAB X IDE.   Here are steps to configure this.

    1. 1. Download the IDE for your OS from the MPLAB X page “microchip.com/mplabx” and install the IDE.
    1. 2. Download the compiler for your OS from the compiler page “microchip.com/compilers” and install the compiler.
    1. 3. Open the IDE, and check the compilers under Tools >> Options >> Embedded >> Build Tools. The installed compiler will be shown under the ‘Tool-chain’ list.

    If for some reason, the compiler is not shown under the ‘Tool-chain’ list, click on ‘Scan for Build Tools’, and this will scan your machine for installed tools, and add the scanned compilers to the ‘Tool-chain’ list.

    Alternatively you may add the compiler manually, by clicking on ‘Add’, and providing the path of ‘<Compiler-DIR>/bin’.

    Note that if the compiler is not installed in its default location, you may need to ‘Scan for Build Tools’ to have MPLAB X find the compiler.


    Return to TopReturn to Top

  16. Can I perform off-line activation of the MPLAB XC compiler?

    Currently, there is no way to perform off-line activation on a demo (evaluation) version of the MPLAB XC compiler. 

    However, you can generate the license for the off-line machine using a machine that is on-line, then transferring this license to the off-line machine.  

    Note down the HostID of the off-line machine (obtained by executing the command “xclm -hostinfo” on the off-line machine). 
    The 'xclm' executable is located in the bin directory of the compiler directory. 

    Access the below link on an on-line machine, and follow the instructions on the link to obtain a license for the XC compiler:

    http://www.microchip.com/xcdemo/getdemolicense.aspx

    Copy this license to the off-line machine, under the folder (for a Windows machine): “C:\ProgramData\Microchip\xclm\license” and the compiler will be able to access the proper license to run in STD or PRO mode.

    For Linux and Apple OS X machines these are the paths where the license file should be copied:

    Linux:“/opt/microchip/xclm/license/”

    Apple OS X: “/Library/Application Support/Microchip/xclm/license/”


    Return to Top
    Return to Top