• AVR Freaks

Hot!Harmony 3 getting started

  • Total Posts : 320
  • Reward points : 0
  • Joined: 2014/06/03 07:25:32
  • Location: Chandler, AZ
  • Status: offline
2019/06/12 09:56:29 (permalink)
5 (4)

Harmony 3 getting started

From both forum and customer feedback we feel there may be some challenges in getting started with MPLAB Harmony 3 in general.  We hope all of the required information is out there, but finding it may be a challenge to some.  So here are some tips to help you get started.
The basics:
  • There is no Harmony downloader (like there was in Harmony 2 anyway) as this is all separate repos on GitHub now. The branch point to see the architecture and various repos is in the overall Wiki.
  • We have included a utility internal to the MHC / MPLAB X platform to enable clone of your chosen repos.  Yes, you are using Git framework, even if you do not realize it.  But you do not require any explicit knowledge or training to do this, as our tools can do it for you.
  • There is a document that shows you how to do this step by step
  • There are several advantages to Harmony 3 including: the ability to move between MIPS and Cortex architecture, refined PLIB architecture, stand-alone projects that do not require the framework (except to configure), customized repo clone / download, and updated user interfaces.  
  • We started with Cortex SAM devices, and then moved to our classic PIC32 devices.  Some of these are still a work in progress.  You can always check here for compatible devices (for core and CSP).
 Where do you go from there:
  • Most repos have a getting started with a project guide, and this can be useful for your own training.  Examples include audio, USB and graphics.
  • All repos also have an apps folder, which contain several or many application examples.  This is a separate folder from the API or library contained within that repository
  • You can check your version in the tools, but it is best to verify your download is complete.  The best way to do this is by the release notes which are at the root of each repo.  The release notes clearly say which version was the most recent at the top.
  • Many of the repositories are now updated several times to v3.3.0 (as of this post), although any given repository may be a different version.  Over time you should not expect that each repo will be the same revision.  The release notes and download manager show clear dependencies on version numbers of other required repos for a given function.
  • Each repo also has on-line help in addition to the downloaded CHM or PDF version.  This may be faster for you, but consists of the same information.  Each repo has this, such as the example for CORE.
If you have a problem:
  • This forum can be a resource to you, but there is some misinformation.  Not everyone is on the same installation and all versions are not the same.
  • Check your installation version.  We have had reports that some installations are not completing for various reasons, and this can cause your repository to not be updated like you think it is.  When in doubt look for that release_notes.md.  You can always create a fresh install at a new location with the download manager.
  • If your problem is not answered in the forum, we encourage you to put in a support ticket.  This will go to our corporate applications team, and if needed pushed to additional support including specialized development teams.

3 Replies Related Threads

    Senior Member
    • Total Posts : 121
    • Reward points : 0
    • Joined: 2010/06/15 22:21:39
    • Location: 0
    • Status: offline
    Re: Harmony 3 getting started 2019/08/02 06:41:12 (permalink)
    Where can I find information about how to create a BSP for my custom board in MHC 3?
    Tom Crosley
    New Member
    • Total Posts : 20
    • Reward points : 0
    • Joined: 2016/07/26 15:56:24
    • Location: Microchip Technology
    • Status: offline
    Re: Harmony 3 getting started 2019/10/09 16:12:54 (permalink)
    As far as I know, there isn't a wiki or other documentation for this.  But I've added boards myself as a Harmony developer, so let me try to go through the steps.
    It's usually easiest if you start with a board that is similar to your own custom board, in terms of processor and features.  Let's say I want to create a new board with a PIC32MZEFH144 processor.
    I happen to know that the pic32mz_ef_curiosity_v2 uses a PIC32MZEFM144.  Close enough.  So I make a copy of the folder bsp\pic32mz_ef_curiosity_v2 and rename it pic32mz_ef_customThen in the file bsp\module.xml, I make a copy of the line:
    <Board name="PIC32MZ EF Curiosity 2.0" processor="PIC32MZ2048EFM144" config="pic32mz_ef_curiosity_v2"/>
    and edit to read:
    <Board name="PIC32MZ EF Custom" processor="PIC32MZ2048EFH144" config="pic32mz_ef_custom"/>
    Note I changed the M to H in the processor name.
    Then I go into my new bsp\pic32mz_ef_custom\config folder, and edited bsp.py.  This is the file that contains the pin definitions.
    Change the line starting with BSP_NAME = to match your bsp name, e.g. "pic32mz_ef_custom"
    The rest of it will depend on whether you are using a SAM or a PIC32 processor, but the format should be pretty self-evident.  That's why it's best to start with a bsp similar to one you want to make, the hard work will have been done already.  If you do all these things, and then start a project with the processor you named in the bsp and then launch MHC, it should show up under Board Support Packages in Available Components list.
    Jim Nickerson
    User 452
    • Total Posts : 6265
    • Reward points : 0
    • Joined: 2003/11/07 12:35:10
    • Location: San Diego, CA
    • Status: offline
    Re: Harmony 3 getting started 2019/10/10 07:09:12 (permalink)
    You make it sound quite straightforward.
    I tried and failed ( ran out of time ) to do this with Harmony 1 and 2.
    I will try again with this encouragement.
    Jump to:
    © 2019 APG vNext Commercial Version 4.5