Application Development Process - mchpgfx/legato.docs GitHub Wiki
Application Development Process
A collection of application development tutorials are provided with MPLAB® Harmony Graphics Suite to help users develop graphics applications using the MPLAB® Harmony Graphics Suite development process.
The development process is an iterative activity as illustrated above. A basic understanding of this process is helpful when building your own applications or referencing GFX examples.
Note: Complete applications are part of each MPLAB® Harmony distribution. Visit Examples and Demonstrations and feature examples for more information. Each application contains a architecture diagram, project graphics, building instructions, and hardware configuration documentation.
MPLAB® Harmony Graphics Suite Development Process
- Development Tools
- New Project Creation
- Configuration
- Composing
- Display Managing
- Generation
Development Environments
Harmony3 supports the following development environments:
- MPLAB® X IDE - Supported for Microchip PIC32 and SAM devices.
- IAR X IDE - Supported only for Microchip SAM MCU and MPU devices.
New Project or Configuration
The process of establishing an MPLAB® Harmony Graphics Suite application starts with the creation of a new Harmony 3 project using the MPLAB® Harmony Project Wizard in MPLAB® X or New Configuration in standalone version of MHC for both IAR and XC32 compilers. Both tools provide an easy step by step method for establishing your graphics application for Microchip 32-bit MCU or MPU.
MHC establishes a project file for each application, it is: harmony.prj
. The harmony.prj is used to store the device name, dependent Harmony package information, as well as C-compliant source code to be used during compilation.
Once the project configuration is created, the remaining steps below are iterative. That is, each step can be repeated until the application meets its expected goals.
Configuration
The first iterative step is configuration.
Component Selecting
A MPLAB® Harmony application is made of functional software blocks. The MPLAB® Harmony Configurator (MHC) tool provides a convenient GUI for selecting the software blocks. These blocks are added to the project graph and possibly connected to other blocks to form a working pipeline of functionality. Eventually, each software block is inserted into the application project as C code written for specifically for the device selected for the project.
MHC provides an easy drag-drop or double-click method for establish components for your graphics application. All available components are listed in the Available Component window. See illustration below:
Component Dependency Satisfying
Each component are essentially hierarchical in nature. Some may be a producer requiring the services of another component, some may be a consumer and satisfy the dependency of other components, while other components are independent and require no component connectivity.
Helpful red/green/yellow diamond icons will show the connection status.
- red - connection is required
- green - connection is satisfied
- yellow - connection not required at this time
Component Option Setting
When selected, a component advertises its options under the Configuration Options window. A component can produce code that can take on various personalities at initialization or runtime. Options should be set appropriate to the needs of the application.
Pin settings
Not only are components connected to software modules, but connected to hardware pins. A critical step is to connect the software to peripherals, memory, graphics display, or other items. The use of a board schematic is needed to appropriately perform pin settings.
Note: There are two macro based components for Microchip hardware: Board Support Package (BSP) and Graphics Templates. They are used to auto-set components, its dependencies, options, and pins based on the device selected. Graphics Templates specifically set specific graphics connectivity such as display boards, external memory, touch input, and run-time RTOS support. These packages are not required, but are provided for ease-of-use. See: Build a New Applicaton to understand how to manually establish connectivity using your hardware.
Display Managing
A UI application cannot be visual until the display component has its correct properties managed. After the configuration process, development continues with display manager. The MPLAB® Harmony Configurator (MHC) contains a display driver creation and management tool to support the interface to a variety of industry displays. It provides everything needed to support the rendering of pixel on your display.
Code Generation
Once configured and display is managed, the code can be generated. This step creates compile-able C-compliant code specific to your hardware and application specification. The step will display differences during generation if the recommended code is different than your current code. The code can be compiled in MPLAB® X or third-party IDE.
Runtime Examination
Visual inspection of LED lights, backlight, pixel rendering is performed at this step. It expectations are not met, repeat one or more of the previous steps. Always regenerate the code and reinspect.
Graphics Tutorials
Next Steps
- Learn about our graphics quickstart guides
If you are new to MPLAB® Harmony, you should probably start with these tutorials:
- MPLAB® Harmony v3 software framework
- MPLAB® Harmony v3 Configurator Overview
- Create a New MPLAB® Harmony v3 Project
Is this page helpful? Send feedback.