Creating Projects and Project Types in the MPLAB® X IDE
Overview
MPLAB® X Integrated Development Environment (IDE) 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 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 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.
Embedded Projects
Standalone Project
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 X IDE v8 Project
This kind of project is essentially an import wizard that helps you to bring a project that was created in MPLAB X 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.
User Makefile Project
This kind of project allows you to use your own, custom makefile rather than the one that is generated automatically by the IDE. In all other respects, it behaves as a standalone project.
Library Project
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 "Libraries in the MPLAB X IDE" page.
Other Embedded Projects
Existing IAR Embedded Workbench Project
An IAR Embedded Workbench Project allows you to import a .ewp file directly into the MPLAB X IDE environment and creates a native project for future use.
Sample Projects
Template Project
A Template Project is a standalone project where you can choose a pre-defined project designed for a specific device.