MPLAB X provides several different project types to accommodate a variety of scenarios, each of which is described below. The steps involved in creating each of the project types differs slightly. Links to step-by-step instructions for each of the project types are provided below in their respective sections.
MPLAB X Integrated Development Environment (IDE) is a project based environment, which means that a project must be created in order to do anything useful with the IDE. There are several different project types available to cover a wide variety of needs, all of which are discussed below, each with a link to a step-by-step tutorial.
If you are simply trying to program a device from a hex file, you might want to consider the MPLAB X Integrated Programming Environment (IPE) instead. While the IDE is fully capable of doing this, it is not necessarily the program best suited to the task. The IPE was designed with a simpler interface for use in production programming environments.
1 Microchip Embedded
This is the type of project you will create the majority of the time. Standalone projects compile (or assemble) down to hex files that may be directly programmed into a PIC® microcontroller and executed.
Depending on your level of experience, you may wish to create a Template Project instead.
Existing MPLAB IDE v8 Project
This kind of project is essentially an import wizard that helps you to bring a project that was created in MPLAB IDE version 8 into MPLAB X. The new MPLAB X IDE project will share the source files with the MPLAB IDE v8 project so that you may work on the code from either IDE. However, their project settings will be completely independent of one another. Once imported, the project will behave like a standalone project.
Prebuilt (Hex, Loadable Image) Project
Because MPLAB X IDE is project based, everything you can do must be done to a project. So, in order to import a hex file (to program it into a device for example), a project wrapper must be created first. The wizard will ask you just a few basic questions and then automatically create the project wrapper around the hex file.
If you are only interested in programming a target device, you may want to consider using the MPLAB X Integrated Programming Environment instead.
A library project is similar to a standalone project, except the the code is compiled (or assembled) down to a series of object files. The link step is skipped, so no hex file will be generated. Instead, the librarian is invoked and all object files generated by the project will be added into a library / archive file that may be included in any project that uses a compatible device with the one used to generate the library.
For more information on why and how to use libraries, please see the Working with Libraries topic.
2 Other Embedded
Existing IAR Embedded Workbench Project