MPLAB® Harmony Graphics Suite
|
This application demonstrates a simple way to create and run a custom graphics application that directly uses the MPLAB Harmony Hardware Abstraction Layer (HAL) to show images on the screen. The same model can also be used to integrate third-party graphics libraries into MPLAB Harmony. The Aria graphics library is disabled and not used in this application.
The diagrams below show the various software and hardware blocks used in this application:
pic32mz_da_sk_extddr_meb2
In this configuration, the application calls HAL APIs to initialize the HAL data structures and set up the HAL graphics layers. These API calls translate into Graphics LCD (GLCD) driver set up and initialization calls that configure the GLCD. After the initialization phase, the application transitions into the paint phase where it draws an image to the frame buffer in external DDR. The application uses a HAL API to get the start address of the frame buffer in the DDR and writes the pixel data directly to the frame buffer memory address.
The GLCD hardware peripheral continuously refreshes the display panel with data from the frame buffer and the images are shown on the display.
pic32mz_da_sk_extddr_meb2_freertos
In this configuration, the application is executed within an OS task context that is scheduled by the FreeRTOS scheduler. When the application task is executed, it calls the HAL APIs to initialize the HAL data structures and setup the HAL graphics layers. These API calls translate into GLCD driver setup and initialization calls that configure the GLCD. After the initialization phase, the application transitions into the paint phase where it draws an image to the frame buffer in external DDR. The application uses a HAL API to get the start address of the frame buffer in the DDR and writes the pixel data directly to the frame buffer memory address.
The GLCD hardware peripheral continuously refreshes the display panel with data from the frame buffer and the images are shown on the display.
pic32mz_da_sk_intddr_meb2
In this configuration, the application calls HAL APIs to initialize the HAL data structures and set up the HAL graphics layers. These API calls translate into Graphics LCD (GLCD) driver set up and initialization calls that configure the GLCD. After the initialization phase, the application transitions into the paint phase, where it draws an image to the frame buffer. The application uses a HAL API to get the start address of the frame buffer in internal DDR and writes pixel data directly to the frame buffer memory address.
The GLCD hardware peripheral continuously refreshes the display panel with data from the frame buffer and the images are shown on the display.
pic32mz_da_sk_intddr_meb2_freertos
In this configuration, the application is executed within an operating system task context that is scheduled by the FreeRTOS scheduler. When the application task is executed, it calls the HAL APIs to initialize the HAL data structures and setup the HAL graphics layers. These API calls translate into GLCD driver setup and initialization calls that configure the GLCD. After the initialization phase, the application transitions into the paint phase, where it draws an image to the frame buffer. The application uses a HAL API to get the start address of the frame buffer in internal DDR and writes pixel data directly to the frame buffer memory address.
The GLCD hardware peripheral continuously refreshes the display panel with data from the frame buffer and the images are shown on the display.
MPLAB® Harmony Graphics Suite
|