Migrating from Atmel Studio IDE to the MPLAB® X IDE

Last modified by Microchip on 2023/11/09 09:12

Although MPLAB® X IDE and Microchip Studio (formerly Atmel® Studio) are two different Integrated Development Environments (IDEs), there are many functional similarities. Understanding these similarities, as well as the differences, will simplify migration.

Terminology Differences

MPLAB X IDE logoAtmel Studio logoDescription
Main ProjectStartup ProjectProject that contains main() code.
MakeBuildCompile project files. If a new project, compile all files. Otherwise, compile files that have changed.
Clean and BuildRebuildDelete all generated files and compile all files in the project.
RunStartBegin program execution.
Configuration BitsFusesBits in special registers that configure device operation.

Concept Differences

ConceptMPLAB X IDE logoAtmel Studio logoNotes
Make for debug / production

Program Device for Debugging Main Project
Make all the files in the project and add a debug executive to the build image.
Make for Debug button in MPLAB X
Remove previous build files and make all the files in the project. Add a debug executive to the built image.

Clean and build button in MPLAB X

Same compiler settings for Debug/Production
Developers may set compiler optimization to a lower  level when debugging, but Make/Build is the same.
Studio 7 has no such differentiation since a debug executive is not needed for debugging.
Debugging is supported through different means.
Configuration Bits / FusesConfiguration (Config) Bits
Have a default value on RESET.
SOFT recovery: Just reset the part if values don't work.
Config bit values in HEX file.
Independent of chip reset, default value from factory (available in the datasheet).
HARD recovery: Fuse settings should be chosen with care.
Note: If an external clock source fails while used as CLK_MAIN source, only the WDT can provide a mechanism to switch back via System Reset.
Fuse values in ELF file.
Project/SolutionOrganizes development at a project level.
A project can be stand-alone or work with other projects.
Organizes development at a solution level.
A solution is comprised of a number of related projects.
Read Device ID / Signature

Device ID read automatically by hardware tool.

Shows the Output window in MPLAB X IDE with the device ID

Click image to enlarge.

Verifying a kit connection in Studio 7 is often done by reading a device signature.

reading the dvice signature in Studio

Click image to enlarge.

Communication Interface for PIC® / AVR® MCUIn-Circuit Serial Programming™ (ICSP™) communication between debug tool and target PIC device.
MPLAB REAL ICETM in-circuit emulator provides additional communications options for trace.
There are a number of communication interfaces for different families of AVR and SAM MCUs.N/A
Set/Clear Bit ValuesClear bit: Bit value = 0
Set bit: Bit value = 1
Clear bit: Bit value = 1N/A

Although functionality may be similar, behavior may not be exactly equivalent. The tables below show the commands related to Programming and Launching Debug Sessions, and what functionality is associated with each, both in MPLAB X IDE v4.xx and Atmel Studio 7.

Programming and Debug Launch IDE Comparisons

FunctionIDEButton / ShortcutDescriptionNotes
shield mplab x iderun project
Run Main Project
Build-program-executeEssentially equivalent functionality:
MPLAB X IDE builds project.
Studio builds all projects in solution.
Atmel Studio logoStudio start without debug button
Start Without Debugging
Project (Solution - Studio 7) is built (if changes have been made), device is programmed and program begins execution.
shield mplab x ide build projectrebuild project
Build, Clean and Build
Make all the files in the project. 
Atmel Studio logo remove previous build file iconremove previous build files in Studio
Rebuild solution
Remove previous build files and make all the files in the project.Studio 7 shows warnings only the first time files are built, but bugs are always shown. A rebuild is needed to see all compiler warnings.
shield mplab x idedebug project
Debug run main project
Run code in the project specified as main. 
Atmel Studio logostart debug
Start debugging
Start debugging a solution.