MPLAB X Project Directory Structure
mplabx-directory-structure.png

Italicized directory names are the only ones you have any control over with respect to naming. The structure is fixed and may not be altered without destroying the integrity of the project.

MyProjects
The directory specified as the project location when the project was created. Any directory may be chosen for the project location, but it is usually best to keep it close to the root directory (e.g. C:\ on Windows) to keep file paths short.
ProjectName.X
The project directory created by the IDE to contain all of the projects files. The directory's name is simply the project's name with a ".X" appended. In most cases, this is where all of your source files and header files will be placed. You may also create subdirectories for them or place them in directories external to your project.
build
Contains all of the intermediate files (*.o, *.o.d) generated by the compiler and/or assembler that are used by the linker to create the output files. The intermediate files are sorted by project configuration and then by debug versus production images.
dist
Contains all of the output files (*.elf, *.hex) generated by the linker. The output files are sorted by project configuration and then by debug versus production images.
default
This directory (under both build and dist) contains files for the default project configuration. If you don't create any project configurations, this directory will be named default, otherwise there will be one or more directories at this level with the names of the project configurations you created.
debug
Contains files generated when the project was built in debug mode.
production
Contains files generated when the project was built in release mode.
nbproject
Contains your project's settings, such as which files are included, which tools are selected, and so on.
private
Contains project settings unique to your machine.
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
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.