Release Notes for MPLAB® X IDE
MPLAB X IDE v6.25
February 28, 2025
Table of Contents
4. Java Platform and Operating System Information
10. Path, File and Folder Name Restrictions
15. What's New in this Release
16. Repairs and Enhancements in this Release
MPLAB® X IDE is a software program that is used to develop applications for Microchip devices, such as: AVR® and PIC® microcontrollers, dsPIC® digital signal controllers, MIPS® and Arm® Cortex® based microcontrollers/microprocessors. This development tool is called an Integrated Development Environment, or IDE, because it provides a single integrated “environment” to develop code for embedded devices. MPLAB X IDE is based upon the NetBeans platform.
For a cloud-based IDE, see MPLAB Xpress.
|
Note: MPLAB X IDE v5.40 (and later) is now a 64-bit application and 64-bit operating systems are required for using MPLAB X IDE. |
Support for Windows®, macOS® and Linux® operating systems will move to 64-bit only starting with MPLAB X IDE version 5.40. Product support releases will be delivered independently from MPLAB X IDE starting in version 5.30 by moving to a Device File Pack (DFP) system. A DFP can be applied to MPLAB X IDE version 5.30 or 5.35 to extend the life of the IDE for 32-bit operating systems. Not all new devices added by a Device File Pack are guaranteed to work in these versions of the IDE.
Processor
Intel® Core™ i7 or equivalent
Memory
|
Development Type |
Memory |
|
More simplified projects using 8- or 16-bit devices with less then approximately 20 files. |
16 GB |
|
Large graphical or complex RTOS projects using DSC or 32-bit devices with more than 50 files. |
32 GB |
Disk Space
In any install an SSD will help performance for Hard Drive disk space.
|
Install Type |
Free Disk Space |
|
Full install. Less space would be required if only selecting 8-bit, 16-bit DSC or 32-bit architectures. |
10 GB |
Processor
Intel Core i5 or equivalent
Memory
|
Development Type |
Memory |
|
More simplified projects using 8- or 16-bit devices with less then approximately 20 files. |
8 GB |
|
Large graphical or complex RTOS projects using DSC or 32-bit devices with more than 50 files. |
16 GB |
Disk Space
In any install an SSD will help performance for Hard Drive disk space.
|
Install Type |
Free Disk Space |
|
Full install. Less space would be required if only selecting 8-bit, 16-bit DSC or 32-bit architectures. |
10 GB |
Note: MPLAB X or Components within the IDE may not be supported on macOS 14 Sonoma due to an incompatibility between OpenJFX and the macOS Sonoma release. See https://bugs.openjdk.org/browse/JDK-8319669.
Processor
Intel Core Duo or Intel Core 2 Duo
Memory
|
Development Type |
Memory |
|
More simplified projects using 8- or 16-bit devices with less then approximately 20 files. |
8 GB |
|
Large graphical or complex RTOS projects using DSC or 32-bit devices with more than 50 files. |
16 GB |
Disk Space
In any install an SSD will help performance for Hard Drive disk space.
|
Install Type |
Free Disk Space |
|
Full install. Less space would be required if only selecting 8-bit, 16-bit DSC or 32-bit architectures. |
10 GB |
All existing Microchip hardware tools are supported on 64-bit MPLAB X IDE. Other tool support is listed below.
· Apple’s version of macOS 10.15 Catalina removes support for 32-bit applications. This means 32-bit versions of Microchip software tools will not run on macOS Catalina. You will get a message indicating that the application needs to be updated.
To run 32-bit applications, Apple unofficially recommends either that you keep an old Mac on hand that runs a pre-Catalina version of macOS or that you partition your current Mac so that it can start up with an older macOS version as well as Catalina. Another option may be to run an older macOS version in a virtual machine using VirtualBox, Parallels Desktop, or VMware Fusion.
· MPLAB X IDE may also run on the various other Linux distributions. For example, Oracle® Enterprise Linux 5, Ubuntu 8.x and 10.04, Red Hat® Enterprise Linux and many others.
· Some older CPUs (for example an AMD Athlon XP) may be incompatible with recent versions of Java. If you are experiencing crashes and you are running on old hardware, you may want to replace the version of Java installed with MPLAB X IDE with an older one. However, this should only be attempted as a last resort as we only test MPLAB X IDE with the version of Java that is included by the installer.
· Virtual Machines.
When using MPLAB X IDE on high DPI (Dots per inch) / UHD (Ultra High Definition) monitors, there may be issues.
Because MPLAB X IDE is based on the NetBeans platform, some issues may stem from the way NetBeans works on the high DPI monitors:
https://netbeans.org/bugzilla/show_bug.cgi?id=252452
https://stackoverflow.com/questions/23651486/netbeans-ide-scaling-on-windows-8-10
Also, system graphics drivers and even the JRE could be part of the issue.
See some solutions below.
If the MPLAB X IDE desktop looks “fuzzy”, modify the interface behavior.
To change default options:
To override scaling behavior:
To set the basic font size: Use the following executable option: –-fontsize=size, where size is in points. See also: http://wiki.netbeans.org/FaqFontSize.
To clear font settings: Erase, rename or move the Cache and/or User directories (see Help > About for locations). Then restart MPLAB X IDE.
|
Note: OpenJDK now being used for MPLAB X IDE 5.40 and later. |
A license-free version of Java will be distributed with
MPLAB X IDE starting in version 5.40. MPLAB X IDE versions up to and including
5.35 will use the last free JRE version 8 from Oracle.
No Oracle® JRE license will be required to use any version of MPLAB X IDE.
Microchip hardware tool support in MPLAB X IDE is described in this section.
Note: MPLAB X IDE has basic programming features for development tools. For other programming options, see MPLAB IPE.
Supported hardware tools list:
Supported but not suggested for new development:
|
Note: The MPASM toolchain will no longer be installed with MPLAB X IDE starting with v5.40. This means no toolchain will be available by default when the IDE is installed for the first time. |
Current versions supported are:
|
MPLAB XC Compiler |
Toolchain |
64-Bit Only Versions |
|
MPLAB XC8 PIC Assembler (included in toolchain) |
XC8 |
2.05 and later 2.05 and later |
|
MPLAB XC16 |
XC16 |
1.50 and later |
|
MPLAB XC-DSC |
XC-DSC |
3.00 and later |
|
MPLAB XC32 |
XC32 |
2.40 and later |
|
Other Compiler (1) |
Toolchain |
Versions |
|
Arm GNU |
Arm GNU |
5.3.1 and later |
|
AVR GNU |
AVR GNU |
3.4.3 and later |
|
AVR Assembler (included in Microchip Studio) |
AVRASM2 |
2.2.6 and later |
For more information on MPLAB XC C Compilers, including license information, see the MPLAB XC Compilers webpage.
See MPASM™ to MPLAB® XC8 PIC® Assembler Migration Guide (DS-50002973).
Functional Safety: For more information, see Functional Safety for ISO 26262, IEC 61508 and IEC 60730.
MPLAB® Analysis Tool Suite: Supports Code Coverage, MISRA Check and Thread Safety Check.
MPLAB Analysis Tool Suite requires MPLAB X IDE version 6.00 or higher and one of the following MPLAB XC Compiler versions (or higher):
MPLAB X IDE supports development tools from many different vendors. For details, see:
MPLAB X IDE and its associated applications use Chromium for various web and backend tasks. So, you might see MPLAB X IDE instantiate Chromium instances in the backend and this is expected. Also if you open multiple occurrences of web contents in MPLAB X IDE, Chromium processes could be multiplied.
Support documents include:
· MPLAB X IDE User's Guide (DS-50002027)
· MPLAB IPE User's Guide (DS-50002227)
· Microchip Debugger (MDB) User's Guide (DS-50002102)
For MPLAB X IDE v6.00, the PDF files “MPLAB X IDE User's Guide”, “MPLAB IPE User's Guide”, and “MDB User’s Guide” have been removed from the build and are linked to their WebHelp locations (the most up-to-date documentation.) “Device Support.htm” has also been removed from the build as this file is now updated on new pack releases and posted as a Device Support PDF. Links to all these documents may be found on the MPLAB X IDE Webpage under Documentation.
Microchip Docs: Links to supported tool user’s guides on onlinedocs.microchip.com are available by selecting Help > Online Help Contents or Help > Tool Help Contents. Legacy tool built-in help and Offline help is also available.
Developer Help: Enter a query in the “How do I?” box on the MPLAB X IDE toolbar or go directly to the Developer Help training site (https://microchipdeveloper.com/).
Data Sheets: In MPLAB X IDE, you can click on the PDF icon on the Dashboard window (Window > Dashboard) to open a local copy or search the Microchip website (https://www.microchip.com).
Register Help: For some AVR devices, you can access on-line data sheets, user’s guides and other support documentation from a Kit Window. In an IO View or Editor window, you can select a register and then click on the PDF icon to open the on-line help for that register.
Configuration Bits Help: For some AVR devices, you can select a fuse in the Configuration Bits window and then click on the PDF icon to open the on-line help for that fuse.
Help > Release Notes: See links for:
· User’s Guides
· Release Notes/Readmes
· Device Support
· Debug Features Support
· Reserved Resources
Local Data Sheets: Add a local data sheet PDF to the Favorites window (Window > Favorites) which allows shortcuts to common content. Right click in the windows to Add to Favorites.
You can also add the PDF to the “Important Files” folder of your project. Right click on this folder and select Add Existing Item. Browse to the location of the PDF. The file will be added to the folder. Double click on it to launch it from this location.
If you want to create your own logical folder, right click on the project where you want to add the folder and select New Logical Folder from the context menu. This will create a logical folder with a default name of New Folder. Then right click on this new folder and select Rename. Type the name you want and hit return. To add a file to this folder, right click on the folder and select Add Existing Item.
You should only use the following ASCII characters for path, file and folder names:
· A through Z
· a through z
· 0 through 9
· underscore: _
· dash: -
· period: .
Windows operating systems have a maximum path length of 260 characters. An explanation from Microsoft is found here:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Although Windows will attempt to stop you from creating path lengths that are too long, it is possible to do this (from certain applications, cutting-and-pasting, etc.) If a project source file uses such a path, the project will not build correctly.
Additionally, there is a command-line limitation for Windows OS of 8191 characters.
If you plan on using MPLAB X IDE on different platforms (Windows, Mac, or Linux operating systems), be aware of these issues:
· Use the forward slash “/” in relative paths. The backslash “\” works only on Windows OS platforms. Example: #include headers/myheader.h.
· Linux OS is case-sensitive, so generictypedefs.h is not the same as GenericTypeDefs.h.
Many command-line options are from the NetBeans platform.
|
NetBeans Option |
Brief Description |
|
-h, --help |
Print descriptions of common startup parameters. |
|
--jdkhome jdk_home_dir |
Use the specified version of the JDK instead of the default JDK. |
|
--cp:p classpath |
Prepend the specified classpath to the IDE's classpath. This option is generally not recommended for any purpose. |
|
--cp:a classpath |
Append the specified classpath to the IDE's classpath. |
|
-Jjvm_flag |
Pass the specified flag directly to the JVM, for example: |
|
-J-Dother_property |
Define the specified property, examples: |
|
--laf ui_class_name |
Use a given class as the IDE's look and feel. |
|
--fontsize size |
Use a given size in points as the basic font size for the IDE user interface. |
|
--locale language |
Use the specified locale. |
|
--userdir userdir |
Explicitly specify the userdir, which is the location in which user settings are stored. |
|
--cachedir cachedir |
Explicitly specify the cachedir, which is the location in which e.g. project scans are stored (could become large and should perform fast). |
|
--open file, |
Opens the file in the IDE's source editor at the specified line. |
|
--open-group NAME |
Opens the NAME project group. |
|
--close-group |
Close the last opened project group and set project group to None. |
|
--list-groups |
List the available project groups. |
In addition, a list of MPLAB X IDE options may be found by using the --help option. For example, on a 64-bit Windows system:
>C:\Program Files\Microchip\MPLABX\vx.xx\mplab_platform\bin\mplab_ide64 -–help
Right click on an MPLAB X IDE executable file or shortcut and select Properties to see options.
Under the Compatibility tab you should find options for running in compatibility mode, setting visual items, and setting the privilege level.
Steps for the MPLAB X IDE default install or an install with options are given below.
Default Install of MPLAB X IDE
Install MPLAB X IDE with Options (such as Silent Install)
Find links for MPLAB X IDE by operating system at:
https://www.microchip.com/mplab/mplab-x-ide
on the Downloads tab.
Note: Administrative access is required in order to install the software on your computer.
Download the MPLAB X IDE executable – MPLABX-vX.XX-windows-installer.exe where vX.XX denotes the version – and then Run the installer, Save the installer to a disk and run it later, or Run and Save the installer. Follow the installer dialogs to install the product.
Download the MPLAB X IDE executable – MPLABX-vX.XX-osx-installer.dmg where vX.XX denotes the version – and then Save the DMG to a disk. Mount the DMG (double click) and run the installer. Follow the installer dialogs to install the product.
Download the MPLAB X IDE executable – MPLABX-vX.XX-linux-installer.tar where vX.XX denotes the version – and then Save the installer to a disk.
XX Bit, start installer
Verifying archive integrity... All good.
Uncompressing MPLAB X vX.XX Installer...
Follow the instructions from the previous section for downloading the correct MPLAB X IDE installer for your operating system.
If you run the installer from the command line with --help parameter/option you get a list of all of the command line parameters that can be passed.
For a silent install, you need to use the command line option --mode unattended. You can use --unattendedmodeui minimal to display a progress bar but it is not needed. The default is completely silent.
You can set the installation directory using --installdir directory if you don’t want to use the default location.
Both the IDE and IPE are installed by default. You elect to not install one of them by using either --ide 0 or --ipe 0.
Note: You may see pop-ups or dialogs about installing driver software. Confirm USB device driver installation for all dialogs.
To install with options, first mount the dmg. Next do one of the following:
Run “/Volumes/{version}/MPLABX-{version}-osx-installer.app/
Contents/MacOS/installbuilder.sh {parameters}”.
You will need to input the password for administrator install into a GUI.
All command line options work from
here (example: silent install):
“/Volumes/{version}/MPLABX-{version}-osx-installer.app/
Contents/MacOS/installbuilder.sh --mode unattended
--unattendedmodeui none”
Run “sudo /Volumes/{version}/MPLABX-{version}-osx-installer.app/
Contents/MacOS/installbuilder.sh {parameters}”.
A password is still needed, but at the command line.
As above, all command line options
work from here (example: silent install):
“sudo
/Volumes/{version}/MPLABX-{version}-osx-installer.app/
Contents/MacOS/installbuilder.sh --mode unattended”.
To pass parameters/options to the installer (such as help for a list of all options):
“sudo MPLABX-{version}-linux-installer.sh -- {parameters}”
For example, to enable silent mode:
“sudo
MPLABX-{version}-linux-installer.sh -- --mode unattended
--unattendedmodeui none”
Note: There is an extra “--“ before the installer parameters. Any parameters before the “--“ are passed to the shell script and not the installer.
Virus protection software can interfere with the Uninstaller. If the uninstall fails, refer to your virus protection software documentation to determine how to exclude “Uninstall MPLAB X IDE.exe” from virus scans.
To uninstall MPLAB X IDE:
For Windows OS:
· OR
· Select Start > Settings > Control Panel to open the Control Panel.
· Double click on Add/Remove Programs. Find MPLAB X IDE on the list and click on it.
· Click Change/Remove to remove the program from your system.
For Mac OS:
· Select Finder.
· Go to Applications > microchip > mplabx > Uninstall MPLAB X IDE.
For Linux OS:
· $ sudo /opt/microchip/mplabx/Uninstall\ MPLAB\ X\ IDE
Uninstalling Multiple Installations
If you install MPLAB X IDE in the default directory and then install MPLAB X IDE again in another directory, the Windows uninstall manager will only uninstall the latest (or one) version. There will not be two registry entries for the same version to uninstall. To uninstall the second installation, use “Uninstall MPLAB X IDE.exe” found under the MPLABX directory.
In this release:
|
SSR |
Description |
Device(s) Affected |
|
MPLABX-8153 |
Changes made in Tools > Options > Embedded > Project Options seem to be forgotten after closing the dialog. Clicking “Apply” and closing the dialog WILL NOT preserve the changes. Clicking “OK” and closing the dialog WILL preserve the changes. |
|
|
MPLABX-7845 |
Program, Debug with AVR device using PICkit 4 fails intermittently in MPLAB X IDE with different failure reasons. |
AVR devices |
|
MPLABX-7000 |
Due to a limitation in MPLAB X 6.05, cached and uncached memory accesses of flash blocks will return different values. Correct debugger operation is only guaranteed when the application does not mix cached and uncached execution paths. |
PIC32CX MT, SAM4C |
|
MPLABX-6996 |
Missing console output from AT91Bootstrap |
SAM9X60 |
|
MPLABX-6809 |
Program Memory upload icon during debug may be disabled on some devices which had it enabled on previous versions. |
|
|
MPLABX-4131 |
When using MPLAB XC32 v2.15 (Windows and Linux installations only), ATSAM devices that have 32-bit wide configuration (config) fields will have incorrect config values programmed into the device when their pragmas are added to the source code. This is not an issue when using the Mac installation of MPLAB XC32 v2.15. The work around for ATSAM devices will be to use the Configuration bits window to directly program the values, instead of including config pragmas in the source code. |
ATSAM MCUs |
The following sections detail changes to checksum calculations per MPLAB X IDE version.
In addition, see the section “How Do I Stop My Project’s Checksum from Changing?” in the “How To’s” chapter of your MPLAB XC C Compiler User’s Guide.
For new devices, CRC32 checksums will be provided upon file import. For legacy devices, nothing will change.
There will be no more 'read' checksums for the new devices. You will need to perform a separate 'Verify' to verify the code.
About CRC32 Checksums
For new devices, MPLAB X IDE and MPLAB IPE run a 32-bit CRC
calculation on the entire hex file to find its checksum. The checksum uses the
standard CRC32 algorithm with the polynomial 0x4C11DB7:
(x32 + x26+ x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1)
CRC32 Table Generation Reference:
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
Crosscheck the MPLAB X IDE CRC32 calculation using this website:
https://md5calc.com/hash/crc32
We have corrected the unprotected checksum calculation that is used when inserted in the User ID field for several 16-bit devices. Therefore, if using the ‘Use unprotected checksum’ in the MPLAB X IDE or the CP=OFF value in the MPLAB IPE, note that the value inserted has been changed to match the correct programming specification algorithms.
We have corrected configuration register DEVCFG2 for PIC32MX1xx (non-USB devices). DEVCFG2<UPLLEN> and DEVCFG2<UPLLIDIV> were removed to match datasheet, and its checksum mask was modified from 0x00078777 to 0x00070077.
Config2's checksum mask was modified from 0xFFFF to 0xBFFF for the following devices:
PIC24FJ128GB202
PIC24FJ128GB204
PIC24FJ128GA202
PIC24FJ128GA204
PIC24FJ64GB202
PIC24FJ64GB204
PIC24FJ64GA202
PIC24FJ64GA204
For all 16-bit devices supporting the boot and secure segment code protect fuses, the pre-programmed checksum calculation will only be based upon the (GSS) General Segment Code Protection fuse (Standard Security Mode only) and not on either the (BSS) Boot Segment Program Flash Code Protect fuses or the (SSS) Secure Segment Program Flash fuses.
The PIC24FJ128GA204 family of devices fails Blank Check upon Erase, although the devices are actually blank. This is due to a change in the programming specification for these devices for Configuration Word 2 <bit 11>. Ignore the failure of the blank check upon erase for these devices when using the MPLAB ICD 3 In-Circuit Debugger, MPLAB REAL ICE in-Circuit Emulator, MPLAB PICkit 3 Debugger/Programmer or MPLAB PM3 Programmer.
After connecting to a running target, select “Live Connect Debug” from the toolbar Debug button drop-down list to begin a debug session and halt. See the MPLAB X IDE User’s Guide for details.
For a list of devices that support Live Connect Debug, select Help > Release Notes > Debug Features Support > Hardware Tool Debug Features by Device.
NOTE: Do not use Live Connect to start a new debug session with software breakpoints already in place from a previous debug session. Since Live Connect does not reprogram the device, MPLAB X IDE doesn't know the original breakpoint instructions in the new debug session.
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 X IDE. MPLABX-nnnn represents internal tracking numbers.
MPLAB X IDE hangs at splash screen after launch: This
is due to an incompatibility between some proxy servers and certain PCs as well
as the java run time. This issue has been found on HP and Lenovo computer systems
but may affect others.
Solution: Disconnect your PC from any internal networks. Once MPLAB X
IDE boots up, go to Tools > Options > General and change “Proxy Settings”
to “No Proxy”. After this you can reconnect to local networks and MPLAB X IDE
will start normally going forward.
MPLAB X IDE working, then suddenly won’t launch: You
will see these messages:
"Java (TM) Platform SE binary has stopped working" and "A
problem caused the program to stop working correctly. Windows will close the
program and notify you if a solution is available." This may be caused by
an automated NVidia driver update to your system.
A solution to this issue is to update the driver to the latest hotfix.
MPLAB X IDE v5 PROJECT FORMAT – Projects created in or updated to v5.00 or higher are not backward compatible! However, there is a plugin you can use to revert projects (Tools > Plugins > Available Plugins > Save As v4.xx Project). MPLAB X IDE projects now support packs, found under <MPLAB X IDE install directory>\v5.00\packs. Packs contain versioned device information. See also http://microchipdeveloper.com/mplabx:projects-packs.
If your code is building too slowly, you may be able to
improve compiler build speed by using parallel make, depending on your
computer’s configuration. See MPLAB X IDE Help for details.
Parallel Make: Tools > Options (Windows, Linux OS) or mplab_ide
> Preferences (Mac OS X), Project Options tab.
For the MPLAB XC16 and MPLAB XC-DS C compilers, when using the parallel make
option, procedural abstraction must be disabled to prevent an error.
Procedural Abstraction: File > Project Properties, compiler
category, “Optimizations” option category: uncheck “Unlimited procedural
abstraction”.
Do not use spaces or odd characters (e.g., %, #) in file names or paths as they can cause build issues. GNU make works well if there are no spaces or any special characters in the file name or path name. Otherwise, the make program may crash in certain scenarios.
When upgrading to MPLAB X IDE v6.05/MCC v5.2 on an existing MCC Classic configuration it may be necessary to update your MCC libraries for some GUIs to display properly. Melody and Harmony configurations are not impacted by this upgrade and consequently no action is needed.
To update the libraries, open your MCC configuration and then open the Content Manager from the Device Resources pane. In the Content Manager press "Select Latest Versions" button followed by "Apply" button and it will automatically update all libraries and restart MCC. You need to have internet access to perform the updates.
·
macOS Catalina doesn't prompt for access to Downloads,
Documents, or Desktop as it should. Therefore, any attempts to read these
directories results in empty directories. The impact is that projects or files
in these directories can’t be opened.
Workarounds for 5.40 and earlier (in order of increasing
expertise):
1. Move the desired files to another location, such as the home directory.
2. Launch
MPLAB X IDE from the command line using this command:
/Applications/microchip/mplabx/v5.40/mplab_platform/bin/mplab_ide
3. Copy the zulu8.36.0.1-ca-fx-jdk8.0.202-macosx_x64 directory from /Applications/microchip/mplabx/v5.40/sys/java to the Downloads directory, then change the jdkhome value in v5.40/mplab_platform/etc/mplab_ide.conf to ~/Downloads/zulu8.36.0.1-ca-fx-jdk8.0.202-macosx_x64/jre. This is considered "implied consent" by the privacy system in Catalina because it is in one of the walled-off directories.
· No access to protected folders on macOS Catalina. Either upgrade to macOS Big Sur or use the following workaround:
1. Open System Preferences
2. Open Security & Privacy
3. Open the Privacy tab
4. Select the Full Disk Access category from the list on the left
5. Click the lock button to unlock it
6. Click the + button
7. Hit cmd + shift + g to open the Go To Path dialog
8. Type in /bin/sh
9. Click Open
10. Click the lock button to commit the changes
11. Restart MPLAB X IDE
Some applications, plug-ins or widgets may take control of, or interfere with, the system provided HID USB driver, which can cause problems communicating with the PICkit 3. If you cannot connect to the PICkit 3, review the Task Manager for these types of programs and close them.
For more information, see forum post:
http://forums.ni.com/t5/Multifunction-DAQ/No-supported-devices-found/td-p/1856299/page/2
(MPLABX-1778) Some applications associate themselves with HTML files, which can cause issues when attempting to view HTML files from the MPLAB X IDE Start page. Ensure only a browser is associated with these types of files (.html, .htm).
It has been observed that there may be problems in discovering and communicating with MPLAB tools when they are plugged into some Thunderbolt 3 docks on Windows systems. Also, this may occur if the tool is plugged into the PC proper but the dock is still attached. If you find that our tools are not visible and usable when you are using these system configurations, then you may want to try the alternative discovery method available in our low-level Windows DLL (USBAccessLink_v.vv.dll). To active this mode, you will need to place a file named USBAccessLinkAltD.txt in the same folder as the DLL file.
The versions of the USBAccessLink_v.vv.dll that support alternate discovery mode are 3.38 and later. This file is located in C:\Windows\system32\. As of MPLAB X IDE v5.25, the installed file name is USBAccessLink_3.42.dll.
For MPLAB X IDE v5.30 and later, the special "trigger" or flag file named USBAccessLinkAltD.txt can be found in the communications library installation path. On a normal install, this path would be:
C:\Program Files (x86)\Microchip\mplabcomm\vx.xx.xx\ext\
As of MPLAB X IDE v5.30, x.xx.xx is 3.35.10.
After closing all instances of the MPLAB X IDE or MPLAB IPE, copy the USBAccessLinkAltD.txt file into the C:\Windows\system32\ directory to activate the alternate discovery mode. You may need administrative permissions to copy the file to this directory.
If you are using MPLAB X IDE v5.25 or older, but still have a USBAccessLink DLL that is 3.38 or later, you can manually create a file named USBAccessLinkAltD.txt and place it in the C:\Windows\system32\ subdirectory. The contents of that file are currently not important; just add any content but start each line with a semicolon (;). In most cases, placing or creating this file will "resolve" Thunderbolt 3 dock problems.
To ensure that this alternate method took place, you can load the USB Tool Connection Diagnostic plug-in in the IDE (Tools > Plugins > Available Plugins) and run the diagnostic. It should show in the output that an alternate discovery method is in use (though if your tools now show up and are usable, you do not need the diagnostic). Be aware that you will need USBAccessLink_3_40.dll or later for the diagnostic to indicate that the alternate discovery method is being used.
In the very rare instance where you are running a 32-bit version of the IDE on a 64-bit system, you would also need to copy the USBAccessLinkAltD.txt file to the C:\Windows\SysWOW64\ directory.
When using a docking station with the DisplayLink driver on a macOS system, Java applications, which include MPLAB X IDE, will not launch. The only remedy it to not use the docking station with the DisplayLink driver. See:
https://www.displaylink.org/forum/showthread.php?t=66114
For a laptop connected to multiple screens via a docking station, disconnecting the laptop by either
· unlocking the laptop from the docking station
· shutting down the laptop, disconnecting from the docking station, and powering the laptop up again
can result in the MPLAB X IDE window being hidden after launching.
To fix the issue, in the userdir (see Help>About for location) find the file config\Windows2Local\WindowManager.wswmgr and either delete the file or edit the contents in <joined-properties> to set x to 0.
<?xml version="1.0" encoding="UTF-8"?>
<windowmanager version="2.1">
<main-window>
<joined-properties
x="1954"
y="-156"
If you select an LF device in one window of the Project wizard and notice that the MPLAB XC8 C compiler is not shown/available in another window of the wizard, this is because your version of MPLAB XC8 does not have support for this LF device. Please use the next available version of the compiler for this support.
If you receive an error message like “make[ ]: *** Access is
denied”, your anti-virus software may be interfering with the compiler make. A
work-around it to disable your anti-virus software. See an example here:
https://www.microchip.com/forums/m746128.aspx
Auto-discovery of toolsuite: After installing the MPLAB XC32 toolsuite to a non-default directory, MPLAB X IDE may not auto-discover the location of the toolsuite. In this case, you must manually show MPLAB X IDE where to find the compiler’s bin directory:
· Select Tools > Options > Embedded > Build Tools.
· Click the Add button under the Toolchain list.
· Browse to find the bin directory under your compiler installation directory and click OK. This will add the compiler and version to the Toolchain list.
In general, for issues relating to hardware tools (e.g., MPLAB PICkit 5), please see the tool readme file. Also, there are limitations by device for hardware tools that may be found in Developer Help:
https://microchipdeveloper.com/debug-limits:start
Auxiliary Flash Issue (MHD-3999)
If dsPIC33E-MU/PIC24E-GU devices with auxiliary flash are programmed with the RSTPRI config bit is set to AF (reset to auxiliary flash) and this bit is not erased, programming and debug executives will not run. For MPLAB IPE some functions like Verify will be very slow. For MPLAB X IDE, debugging will not work.
Hardware stack not available for (all) PIC18F MCUs (MPLABXE-354)
Hardware stack support for selected PIC18F devices (see table below) using the hardware debug tools:
|
PIC18F24K40 |
PIC18LF24K40 |
PIC18F25K83 |
PIC18LF25K83 |
|
PIC18F24Q10 |
PIC18LF25K40 |
PIC18F26K42 |
PIC18LF26K42 |
|
PIC18F25K40 |
PIC18LF26K40 |
PIC18F26K83 |
PIC18LF26K83 |
|
PIC18F25Q10 |
PIC18LF27K40 |
PIC18F27K42 |
PIC18LF27K42 |
|
PIC18F26K40 |
PIC18LF45K40 |
PIC18F45K42 |
PIC18LF45K42 |
|
PIC18F27K40 |
PIC18LF46K40 |
PIC18F46K42 |
PIC18LF46K42 |
|
PIC18F45K40 |
PIC18LF47K40 |
PIC18F47K42 |
PIC18LF47K42 |
|
PIC18F46K40 |
PIC18LF65K40 |
PIC18F55K42 |
PIC18LF55K42 |
|
PIC18F47K40 |
PIC18LF66K40 |
PIC18F56K42 |
PIC18LF56K42 |
|
PIC18F65K40 |
PIC18LF67K40 |
PIC18F57K42 |
PIC18LF57K42 |
|
PIC18F66K40 |
PIC18F24K42 |
PIC18LF24K42 |
|
|
PIC18F67K40 |
PIC18F25K42 |
PIC18LF25K42 |
|
AVR mapped program memory is not viewable on ATmega4808, ATmega4809 devices (MPLABXE-1813)
AVR ATmega4808 and ATmega4809 devices support a feature for efficient access of data used by the application which resides in the flash program space. Currently, MPLAB X IDE will not identify this space as a separate viewable memory.
Workaround: The data is viewable where the data begins in the program memory space.
PIC10F206 family on AC162059
Cannot change or fix the calibration on the PIC10F debug header.
The following issues impact MPLAB X IDE.
|
SSR |
Description |
Device(s) Affected |
|
TMR008-52 |
Timer [2-9] with prescaler > 1 does not halt correctly on a breakpoint in debug mode. |
PIC32MZxxEFxx and PIC32MZxxDAxx families |
|
XPI-111 |
|
The following are issues for MPLAB X IDE.
|
Description |
Device(s) Affected |
|
|
MPLABX-8268 |
When an Ethernet connection is established with MPLAB ICD 5, after disconnecting the Type C USB cable, MPLAB ICD 5 does not reboot with the new network interface. You will need to disconnect the Ethernet cable from ICD 5 and reconnect it so that this interface will be recognized under Project Properties and Manage Network Tools dialogs. |
|
|
MPLABX-8100 |
It is not possible to add two projects with the same folder name to the same Group of Projects. The first project is added to the group but not the second; no warning is given while choosing different directories. |
|
|
MPLABX-7914 |
Communication error when debugging dsPIC33EV256GM106 device and CodeGuard is enabled. |
dsPIC33EV256GM106 |
|
MPLABX-7865 |
Generation 3 tools (ICD3, PICKit3, PKOB3) may get a connection error when debugging multiple projects. A typical error message that will be shown is: "Connection Failed. If the problem persists, please disconnect and reconnect the ICD 3 to the USB cable. If this does not fix the problem, verify that the proper MPLAB X USB drivers have been installed." If that doesn't help, unplug the tool from USB, restart MPLAB X and then plug the tool back to the USB port. |
|
|
MPLABX-7785 |
SAM E54 Curiosity Ultra V2 fails to program with EDBG. Work-around: In MPLAB set additional delays after a reset extension. |
|
|
MPLABX-7583 |
When running ICD 5 ITM trace, an error message saying 'Error code = -11' may be shown. This means that some data was dropped while the data parsing was in progress, causing the parser to require to re-synchronize to the ITM data stream. |
|
|
MPLABX-7482 |
Selecting a logical folder in MPLAB X IDE and pressing the Delete key does not remove the folder. However, right clicking on the folder and selecting "Remove from Project" does remove the folder. |
|
|
MPLABX-7249 |
When the secondary project has been built
for the 'auto' image copy mode and then the primary project is switched to
the 'manual' copy mode, the xc32-bin2hex utility needs to be called again but
is not. The same would be true when changing the address offset value. |
PIC32CX MT |
|
MPLABX-7139 |
In some cases, a project containing both a .C and .ASM file will not build when the BUILD icon (build or clean+build) is clicked. |
|
|
MPLABX-6682 |
MISRA rule 8.13: Should point to const-qualified type whenever possible. |
|
|
MPLABX-6681 |
MISRA check fails on Linux Ubuntu 18.04 or lower. Workaround: Upgrade to a later version of Linux Ubuntu. |
|
|
MPLABX-6680 |
MISRA rule 6.1: should report violation even if long and int are the same size in bit-filed |
|
|
MPLABX-6679 |
MISRA rule 2.1: Code after a while loop that never exits should be marked as unreachable code |
|
|
MPLABX-6678 |
MISRA rule 2.2: Empty function with no side effects should be marked as a rule 2.2 violation |
|
|
MPLABX-6670 |
If you run the MDB command line application when MPLABX IDE is open, you will see a websocket server exception. Close one application while using the other to avoid this. |
|
|
MPLABX-6630 |
Disconnecting and reconnecting an ICE 4 during a debug session can appear to lock the IDE up. |
|
|
MPLABX-6612 |
The Firmware update on a hardware tool might fail if the MPLAB Data Visualizer window is open at the same time |
|
|
MPLABX-6587 |
When running the MISRA checks certain printf lines are provoking "unknown" comments and not adding the file name to the data |
|
|
MPLABX-6349 |
For PIC47Q84, the values appearing in IOView for the OSCCON register set are incomplete and are not always updated. Switching to a different peripheral and back again causes an update but collapses the bit-views. |
PIC47Q84 |
|
MPLABX-5773 |
Unplugging a Curiosity nano board during debug causes MPLAB X IDE and MPLAB Xpress to crash in Linux OS. To avoid this, wait for the debug session to complete before disconnecting the board. |
|
|
MPLABX-5716 |
Moving a project to a different file directory will cause breakpoints to become broken during debugging. If a project is moved, a Clean and Build must be done prior to any debug session to avoid broken breakpoints. Also, the "Force makefile regeneration when opening a project" selection from the Project Options selection can be used as a global setting. |
|
|
MPLABX-5714 |
Overflow toolbars sometimes won't disappear after a button click when mouse focus has moved away. Workaround: Move the mouse cursor to a different overflow toolbar to make the first one disappear. |
|
|
MPLABX-4736 |
Code Coverage does not support Macros in all cases at this time. It highlights a blank line in place of the Macro. Please review the program memory window for true accuracy. |
|
|
MPLABX-4297 |
Lubuntu 18.04 LTS: Install/Uninstall Problems of MPLAB X IDE. |
|
|
MPLABX-4008 |
AVR-GCC Toolchain on a mounted drive in Linux does not get discovered with correct version information in MPLAB X IDE. |
AVR MCUs |
|
MPLABX-3358 |
Step over(F8) doesn't work properly during debugging with MPLAB XC32 MIPS16 mode. |
PIC32M MCUs |
|
MPLABX-3294 |
When MPLAB X IDE is open and a project that was checked out from SVN is loaded, it may not be possible to work with other tools like TortoiseSVN because MPLAB X IDE may lock the SVN database. MPLAB X IDE may need to be closed to unlock this. Workaround: Select Tools > Options > Team > Versioning > Subversion, select CLI and put in the path of TortoiseSVN. This provides MPLAB X IDE and TortoiseSVN with the same client and will not lock the SVN database. |
|
|
MPLABX-3161 |
When using the GIT plugin and cloning the project from GIT, the new project is not recognized within MPLAB X IDE |
|
|
MPLABX-3116 |
This occurs when using two editor Frames: Toggling a bookmark in the second view of a code file window toggles the bookmark on the cursor position in the first file window |
|
|
MPLABX-3115 |
When you try to access RAM that does not exist using a hex file project only and no source files, such that the target silicon goes into an exception, the IDE becomes unresponsive. |
|
|
MPLABX-2993 |
Using RTW on SFRs seems to apply but do not update when using a 16-bit device. |
PIC24HJ128GP306A |
|
MPLABX-2985 |
Debugger is dereferencing pointer incorrectly; specifically, instead of showing the value at the address pointed to, it is showing the value at the address of the pointer. |
|
|
MPLABX-2911 |
Parser does not recognize legal C syntax of defining an enum inside an object typedef. This could be C99 we are looking into it. |
PIC32MZ |
|
MPLABX-2874 |
The package project does not include scripts that are referenced in the pre/post steps. |
|
|
MPLABX-2791 |
Attempting to remove auto-indenting by making the value 0 results in non-functional tab capability |
|
|
MPLABX-2790 |
On some occasions the debug (elf) file gets locked by MPLAB X IDE when doing a build / debug-build. The current workaround is to click the performance monitor to force a GC collection |
|
|
MPLABX-2785 |
Unable to resolve identifier appearing with legacy plib for PIC32MX device of MPLAB XC32. |
PIC32MX |
|
MPLABX-2779 |
When switching from MPLAB XC16 to MPLAB C30, the XC16 Global options "Define common Macros" and "Common Include Directories" are not persisted in C30 Global Options causing build failure. |
|
|
MPLABX-2639 |
Pointer to ROM objects shows incorrectly in the Watches window. The MPLAB C18 C compiler only supports COFF debug format. Unfortunately, the COFF specification does not provide sufficient detail to describe pointers to ROM memory. The MPLAB XC8 C compiler supports ELF/DWARF debug format which provide sufficient detail in the debug information for the debugger to properly decode the address and data in this case. |
PIC18F |
|
MPLABX-2608 |
When using full line indent on braces the text stays in line with the braces. |
|
|
MPLABX-2596 |
Live parser shows unresolved identifier for structure nested in structure without name. This results from NetBeans native CND not supporting anonymous field declarations. The workaround is to specify an identifier for the field. The downside is that you will have to specify that field name everywhere you use it in code. |
|
|
MPLABX-2525 |
On some occasions when opening a project, the files will show gray, which is indicative that they are excluded from the project. In this case the build will fail because the system thinks the project is empty. Closing and re-opening the project should rectify the issue. |
|
|
MPLABX-2448 |
When the Foreground color for Field is "Inherited" (Tool>Options>Fonts & Colors, choosing "Inherited" as foreground for field) the text in popup completion window (tooltip) is invisible. White on white. Choose a specific color to fix it. |
|
|
MPLABX-2428 |
Generic plugin has some issues with command execution using Wine for Mac. So generic plugin will not work on MAC OS using MPLAB X IDE. |
|
|
MPLABX-2408 |
Attempting to cancel project file deletion using keyboard navigation will fail (the file will be deleted). Selecting a project file and then hitting the Delete key will pop up a "Confirm Object Deletion" dialog. Using the Tab key to select "No" and hitting Enter will still result in the file being deleted. Using the mouse to click "No" will cancel the deletion. |
|
|
MPLABX-2250 |
PICkit 3 fails to connect and/or program a 12F629 when powering from the tool using 5.0 volts |
PIC12F629 |
|
MPLABX-2247 |
Timer1 unfreezes when single stepping too close to the statement that sets T1CON.ON |
PIC32MZ family |
|
MPLABX-2069 |
Code folding does not work for inline asm code in MPLAB C18 when _asm and _endasm directives are used. The work-around is to put the code block near the end of the code/file. |
|
|
MPLABX-2034 |
The correct 'Firmware Suite Version' is not being displayed after recovery from a 'Connection Failed' error. |
PIC16F1939-ME2; may affect other parts |
|
MPLABX-2022 |
When hexmate reports a conflict, the reported address does not always reflect the address in MPLAB X IDE. For example, on a 16-bit device, 0x1000 is address 0x800 in MPLAB X IDE. |
|
|
MPLABX-2004 |
An array residing in the external memory may not be displayed properly in the watch window. |
PIC24FJ128GA010 |
|
MPLABX-1971 |
When importing an MPLAB C18 project, an exception occurs in the MPLAB X IDE, although the import happens correctly. |
|
|
MPLABX-1969 |
In the Project Properties dialog, for any MPLAB XC assembler, adding “ASM include dirs” results in .d files contain in this path. |
|
|
MPLABX-1962 |
Cannot communicate with AC162055 below 3.375 volts and cannot erase USER ID below 4.5v |
PIC16F684-ICE |
|
MPLABX-1778 |
Start page links do not work if installed in the 64-bit OS default directory 'Program Files(x86)' |
|
|
MPLABX-1727 |
Highlighted selection (SFR/bit) in watch window gets deselected if stepping through project too fast. |
All |
|
MPLABX-1414 |
"New File" option appears twice in the Toolbar
customize menu. This is a NetBeans issue (Bug 162385): |
|
|
MPLABX-1170 |
The MPLAB XC32 compiler might place a function parameter in a CPU register so it does not update in the watch. Define variable as volatile for debugging. |
PIC32 MCUs |
|
MPLABX-752 |
When Find or Find In Projects is used to search for text, the resulting display in the Search Results output window does not display tab characters that were in the original text file. For example, searching for latt_kesk in the line movf latt_kesk will display movflatt_kesk |
|
|
Support Type |
Details |
|
Web IDE |
See the improved MPLAB Xpress IDE at: https://www.mplab-xpresside.microchip.com/. For documentation, see: |
|
Command line (Headless) IDE |
See Microchip Debugger (MDB) User's Guide (DS-50002102) |
|
Microchip Plugins |
In MPLAB X IDE, go to Tools > Plugins > Plugins > Available Plugins. For documentation, see: |
|
Version Control Systems, |
Microchip provides online support via our web site at https://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 (https://www.microchip.com/forums/), 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
Microchip's personal notification service helps keep customers current on their Microchip products of interest. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool.
Please visit https://www.microchip.com/pcn to begin the registration process and select your preferences to receive personalized notifications. A FAQ and registration details are available on the page, which can be opened by selecting the link above.
When you are selecting your preferences, choosing Development Systems will populate the list with available development tools. The main categories of tools are listed below:
· Compilers – These include all MPLAB XC compilers.
· Emulators – These include the MPLAB ICE 4 in-circuit emulator.
· In-Circuit Debuggers – These include the MPLAB Snap, MPLAB PICkit 4, MPLAB PICkit 5, MPLAB ICD 4 and MPLAB ICD 5 in-circuit debuggers.
· MPLAB X IDE – This includes MPLAB X IDE and MPLAB Xpress IDE, as well as the internal features of each, such as the project manager, editor, simulator and debugging features.
· Programmers – These include the MPLAB IPE and MPLAB PM3 production programmer as well as the debuggers and emulators listed above.
· Development Boards – These include Curiosity and Xplained boards, as well as various other evaluation boards.
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: https://support.microchip.com/
Internal ID: v6.25