MPLAB® X Integrated Development Environment (IDE) is an expandable, highly configurable software program that incorporates powerful tools to help you discover, configure, develop, debug and qualify embedded designs for most of Microchip’s microcontrollers and digital signal controllers. MPLAB X IDE works seamlessly with the MPLAB development ecosystem of software and tools, many of which are completely free.
MPLAB X IDE brings a host of features to help you quickly debug your projects and minimize your development time. Some newer features include:
Now supporting AVR MCUs along with PIC MCUs and dsPIC DSCs, the award-winning MPLAB Development Environment is more portable than ever. Simply navigate to mplabxpress.microchip.com from any compatible Internet browser and enjoy the streamlined MPLAB Xpress IDE without any downloads or installation.
Get all the great features and functionality of Atmel Studio along with our well-supported portfolio of development tools when you download Microchip Studio for AVR® and SAM Devices.
Every month of the year, we offer special savings on a selection of development tools. Visit our Dev Tool Deals page to explore the products that are on sale this month and to take advantage of these special discounts.
Get free training on our products 24 hours a day, every day. We offer on-demand courses and live sessions on general embedded control topics as well as Microchip, Atmel and Microsemi products. Learn how to improve your business by using our products to their full advantage.
MPLAB X IDE only supports computers with processors designed with the Intel® 64 architecture.
If you have a problem with the links below, please use these links instead: MPLAB X IDE Windows 5.45 MPLAB X IDE Linux 5.45 MPLAB X IDE OSX 5.45
"One Click" Make, Program, Debug / Execute operation. Unlike other IDEs where you build, have to connect to the hardware tool, program the target and then start your debug session.
Under MPLAB X it is all compiled into one action button. Run, Program, or Debug Run starts ‘Make’ which will check for changes and build any relevant updates, connect to the tool program the images and either start a debug session or start an execution of the programmed image. (There is also the option of doing these individually if the customer prefers).
In order to navigate your code or understand a colleague’s code in addition to documentation the Call Graph provides a static call tree of all functions called from other functions. It can also be exported to a Portable Network Graphics (PNG) image.
A single project can now build the same set of source files in many different ways. Each “configuration” has its own compiler options, compiler, hardware tool, and target device.
You can have as many versions of a compiler installed as you wish to work with. Each is identified by its own version. For any project, you can select the specific version of your choice. This enables you to use more than one instance of a compiler within the IDE at the same time.
Project configurations can be set to use an older version while trying a new release.
MPLAB X IDE now allows you to have multiple debug tools connected to the computer at the same time. You can select which ever tool you desire for a specific project or configuration within a project (example: Programmer and Simulator in their own configurations). It provides the ability to debug more than one target at the same time using just one installation of MPLAB X IDE.
Live parsing means while you type in code if you enter something the C parser does not recognize it will flag it. Many times this allows you to fix code before even compiling.
You can import an existing MPLAB 8 project and develop the code from within either IDE. The same compiler and same debug tools are used so the code is still as production worthy as always. This flexibility allows you to use the MPLAB® X IDE without affecting your MPLAB 8 project.
Using the CTRL key and mouse over a function, variable, macro, or include statement allows you to view its declaration. Clicking on the hyperlink will take you right to the source of declaration. Alternatively, you can right click on it and choose Navigate → Go to Declaration from the context menu to jump to its declaration.
Within the IDE there are many existing code templates that can be accessed using a couple of letters then tab (or specified key). You can create your own templates, (even live templates) such that when you enter values into the template area, other areas of code are also populated. For example the 'func' active code template shown here. As you enter parameters in the comments, to document the function, the real function is also populated.
The developer can select from a template file whenever he creates a new file to add source code to.
Unsure of what changes you made to the software since the last version control update? Use the Local History utility to visualize changes made. Very useful for backtracking
Either an individual or a company can set up a code format standard to be used within the editor. Just select the file to format the code in and menu Source>/Format to reapply the template to your source code.
The Tasks operation, automatically scans your code and lists commented lines containing words such as "TODO" or "FIXME", (the words can be customized under options). Tasks provide a convenient way to keep track of important items you feel need addressing.
Macros are incredible useful but sometimes they can have unexpected values if they are conditionally defined. This window allows you to see what the compiler will consume after the preprocessor is done. With the expansion view you see exactly what value they expand to. Also, blocks of code not to be compiled are omitted in the view. Also, in the editor window, MPLAB X shows you all the #ifdef/#endif blocks. It uses the comment color (grey by default) to show you sections that will not be included.
You can change any memory view to look at any type of memory. Formats for those views are also selectable from the dropdowns. This allows a quick view change without going thru the menus.
Need one place to summarize you project? For convenience there is a single window that gathers all the relevant project information and its environment. Device name, Debug Tool, Language Build Tool, and Connection state are presented. The Memory section shows Total, Used and Reserved by Debug Tool for RAM and Flash memory. Checksum and Breakpoint (silicon resource) status is also shown. The Debug tool provides additional status for Device ID, firmware versions and voltages.
With this feature you’ll never have to worry about which firmware version you were using. MPLAB will remember it and automatically restore it to the correct version when you connect to the debugger.
Just set it and forget it.
Available only during a debug session and accessed through the Window>/ Debugging menu, this new Disassembly window shows the disassembled memory of the high-level language function in the scope of the current execution point of the debugger. It is extremely useful for debugging program execution at the assembly level.
In addition is the Disassembly listing window which is similar to the one provided in MPLAB IDE v8.x. It is available under the Window>/ Output menu. This window shows the disassembled code generated by the compiler for the current project. It interleaves the disassembled code with the original high-level language source code so it is possible to see what the compiler generates for each line of source code in the project. A project must be built with debugging information, since the display depends upon the debugging line table within the built project, in order to display data.
Use the Variables and Call Stack windows together to browse local variable history of each function in the call chain. Hint: The Variables window is docked at the bottom of the output pane to allow simultaneous interaction and display of the local variables with the selected function in the Call Stack window
The variables window configured to show only variables used near the program counter location (cursor position). In this mode note that global variables used in the scope of the function can be displayed as well as local variables.
Save time entering programs, and ensure correctness using the MPLAB®X editor’s auto-completion features.
There are three flavors of configuration management source control already built into the new IDE. In addition others are provided through the NetBeans community.
Save time navigating to particular locations in large code bases using the Navigation window. Use the context menu to filter out undesired types.
You can customize the actions in the toolbars, minimize the windows to have them on side bars which will pop out. Undock any editor tab by dragging and dropping it outside the IDE. This will turn into an independent window that will allow moving onto a second screen.
You can use the plug-in manager from the tools menu to add, remove or update sets of features for embedded programming, including a wide variety of NetBeans plug-ins (Change Case, Rectangular Edit Tools, Adobe reader, Clear Case Revision Control, plus many more. plugins.netbeans.org/PluginPortal). In addition Microchip hosts a plug-in portal for Microchip specifically developed plug-ins.
This webinar shows you how to migrate an Atmel Studio using a SAM device and Atmel Debugger interface (EDBG) into the MPLAB® X IDE, where development of the project can continue on a number of different host platforms.
For more information, visit: https://www.microchip.com/design-centers/32-bit
This webinar shows you how to migrate an Atmel Studio using a SAM device and Atmel Debugger interface (EDBG) into the MPLAB® X IDE, where development of the project can continue on a number of different host platforms.
For more information, visit: https://www.microchip.com/design-centers/32-bit