Major Differences between MPLAB® X IDE and MPLAB IDE v8

A list of major feature differences between MPLAB® X IDE and MPLAB IDE v8 is presented below:


Source Base

MPLAB® X IDE is based on the open-source, cross-platform NetBeans platform. Third parties can easily add functionality as plug-ins. MPLAB X IDE components that are specific to Microchip products are still proprietary.

MPLAB IDE v8 is proprietary and Windows operating system based. Third parties can add to v8 with design information from the MPLAB development group.


Development Orientation

MPLAB® X IDE is project-based (no workspaces). In MPLAB X IDE, you must create a project to develop your application. Creating a project involves selecting a device, as well as selecting and setting up language tools, debug tools, programming tools and other project specifics. This ensures all items needed for successfully developing an application are present. Multiple project grouping is handled by multiple configurations.

MPLAB IDE v8 is device-based. Although it is always highly recommended that you use a project in v8 to create your application, it is not required. Workspaces are used to contain some set up information, including multi-project grouping.


Development Tool Selection

MPLAB® X IDE allows multiple tool selection

Example 1: Connect several MPLAB ICD 3 debuggers into several computer USB ports. Then access the Project properties to easily switch between the debuggers, which are identified by their serial numbers (SN).

Example 2: Connect one MPLAB ICD 3 debugger into a computer USB port and one MPLAB PM3 programmer into another USB port. Then access the Project properties to easily switch between the tools.

MPLAB IDE v8 does not allow multiple tool selection.


Language Tool Selection

MPLAB® X IDE allows multiple language tool version selection

Example: Install two versions of the MPLAB C Compiler for PIC18 MCUs. Then access the Project properties to easily switch between versions of compiler toolchains.

MPLAB IDE v8 does not allow multiple language tool version selection.


Debug Sessions

MPLAB® X IDE allows multiple debug and programming sessions. MPLAB X IDE allows you may have multiple debug sessions active in one IDE.

MPLAB IDE v8 allowed one debug or programming session. MPLAB IDE v8 allowed you to have multiple projects open in the IDE. However, you could only debug or program with one project at a time.


Build Configurations

MPLAB® X IDE allows multiple build configurations. MPLAB X IDE allows more than one build configuration.

MPLAB IDE v8 allowed only two configurations. MPLAB IDE v8 allowed you to select only between “Release” or “Debug” from the Build Configuration drop-down box and have use of __DEBUG in your own code.

To recreate the MPLAB IDE v8 functionality in MPLAB X IDE, you can create your own Debug configuration and __DEBUG macro.


Build/Programming Steps

MPLAB® X IDE provides multi-step options to debug and program. MPLAB X IDE has a “Debug Project” icon that builds, programs a target device with your program and a debug executive (for hardware tools) and runs your code in Debug mode in one click. Also available is a “Make and Program” icon that builds, programs a target device (for hardware tools) and runs your code in one click. If you do not want your program to run after make and program, use the “Hold in Reset” icon instead.

MPLAB IDE v8 required several manual steps to debug or program. MPLAB IDE v8 had a procedure that required completion before debugging or running code:

  1. select the correct build configuration (Release or Debug)
  2. build/make your code
  3. program the target with the code (for hardware tools)
  4. run your code.

For some tools, e.g., MPLAB Starter Kits, you still need to perform some steps independently. MPLAB X IDE provides this functionality under Debug>Discrete Debugger Operation.


Configuration Bits

MPLAB® X IDE uses configuration bits set in code. MPLAB X IDE requires that Configuration bits be set in code. However, you may temporarily change Configuration bits in the Configuration bits window when in a debug session and then write these setting to the Output window to paste into your code.

MPLAB IDE v8 used configuration bits set in code or a window. MPLAB IDE v8 allowed you to set Configuration bits in either code or the Configuration bits window. However, settings made in the window had to be manually entered into code.


Hardware Tool Connection

MPLAB® X IDE debug tools are only connected during a session. MPLAB X IDE only connects debug or programmer tools to the target during a debug or programming session. Otherwise they are not connected.

MPLAB IDE v8 debug tools were always connected. MPLAB IDE v8 connected to the debug and programmer tools as soon as the tool was selected. This configuration did not allow for multiple sessions.

To maintain this connection at all times in MPLAB X IDE, like MPLAB IDE v8, go to Tools>Options (mplab_ide>Preferences for Mac OS X), Embedded, Generic Settings tab, and check “Maintain active connection to hardware tool”.


Information Displays

MPLAB X IDE information is consolidated in one display. MPLAB X IDE has a Dashboard window that contains breakpoint resources, checksum and memory gauge information. This window organizes this and future information in one place.

MPLAB IDE v8 information is spread over several displays. MPLAB IDE v8 had a breakpoint resources toolbar, checksum toolbar and memory gauge window. Each feature was accessed differently.


Feature Updates

MPLAB® X IDE has many NetBeans features. MPLAB X IDE has many NetBeans editing and debug features. (See NetBeans Help for more details.) Periodically, MPLAB X IDE will update the NetBeans platform it is based upon. Then the IDE will be updated to the new NetBeans features. The MPLAB X IDE release notes will specify the NetBeans platform version that each version of MPLAB X IDE is built upon.

MPLAB IDE v8 had its own, proprietary features. MPLAB IDE v8 was a proprietary product. As such, third-party and community development was more difficult.

© 2016 Microchip Technology, Inc.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.