MPLAB® Harmony comes with many demonstration examples. These are documented in the Harmony Help File under Volume I: Getting Started > Applications Help.
These demo projects are stored on your computer in the following folder:
<install directory>/apps
You may make a copy of a demo project (closely resembling their application) and locate the copied project in a parallel directory for testing purposes. You may rename the demo folder and design your whole application from this point. Alternatively, you may start a project from scratch (using MHC of course), but still locate your project in the <install directory>/apps folder.
There are clear disadvantages to organizing the project this way when using version control. If you use version control (which is advised when using Harmony and the MHC), don't use this organization because it's not practical for migration to the next versions of the underlying framework.
The following organization is common when using version control (assuming Windows® is used):
- Install the Harmony Framework into: C:\projects\harmony Note that there is NO version number after the harmony.
- Locate the project in: C:\projects\my_project_name
- The actual MPLAB X project would be in: C:\projects\my_project_name\firmware\my_project_name.X
- Then use MHC to:
- Specify your Harmony Framework path to C:\projects\harmony.
- Generate the project with MHC into your C:\projects\my_project_name folder.
- Then check your data into your repository.
The recommended way of organizing the repository is to have two of them and use a version control system which is distributed (like GitHub). The advantage of this is when you want to change between framework versions (which involves huge files), the changes can happen in a few seconds, rather than over the time it takes to transfer the data through a network. The general idea is for one of the repositories to be dedicated to the framework, and the other repository to be dedicated to your project.
When it is time to migrate to the next framework, simply create a branch for the next framework version, install it, and check it in. To change between framework versions, simply check out a branch containing the desired framework. The project repository can then be treated as a typical project repository where you wrote all the source (branching and tagging don't depend on framework versions).