1. Introduction
1.1. Scope
The aim of this application is to demonstrate the capability of MicroEJ to be the software enabler of available IP in various MCU/MPU/SoC as hardware graphic processor unit (GPU). The i.MX-RT595 includes the GVNanolight-V IP from Verisilicon to accelerate drawings (and save power). The application is a wearable application; it contains several watch-faces and sub applications like heart rate, activity etc.
A video of the application is available here.


Note
This packaging is only compatible with board i.MX RT595 EVK Revision C1 and LCD SCH-46966 RevA.
1.2. Intended Audience
The intended audience for this document are developers who wish to understand how RT595 GPU advanced features have been integrated in MicroEJ ecosystem: MicroEJ platform, MicroEJ libraries, MicroEJ application.
1.3. Prerequisites
- PC with Windows 7 or later.
- i.MX RT595 EVK Rev. C1 board.
- MicroEJ SDK 20.10 (https://developer.microej.com/get-started/)
- IAR Embedded Workbench 8.50.6 (https://www.iar.com/iar-embedded-workbench/)
1.4. Delivery Package
[root]/application/application-src.zip
: This file contains the source of the MicroEJ application (Java part). See chapter Setup.[root]/artifactsRepository
: This folder contains some additional artifacts which are not available yet on MicroEJ Central Repository (https://developer.microej.com/central-repository/). In addition with MicroEJ Central Repository, this repository is required to build the MicroEJ platform for i.MX RT595 EVK Rev. C1 and to build the MicroEJ application on this platform. See chapter Setup.[root]/bsp/mimxrt595_freertos-bsp
: This folder contains a BSP designed for the i.MX RT595 EVK Rev. C1 and compatible with the MicroEJ platform. See chapter Setup.[root]/documentation
: This documentation.[root]/gettingStarted/board
: This folder contains the pre-compiled application to deploy on a i.MX RT595 EVK Rev. C1. See Getting Started.[root]/gettingStarted/player
: This folder contains the MicroEJ Virtual Device to play the pre-compiled application on a computer. See Getting Started.[root]/platform/mimxrt595_freertos-platform.zip
: This file contains some projects to build the MicroEJ platform designed for i.MX RT595 EVK Rev. C1. See chapter Setup.[root]/tools
: This folder contains some tools useful to pre-compile some resources before building the application. See Images.
1.5. GPU Features
The i.MX RT595 integrates the GCNanoLiteV, a Vector Graphics processing unit targeting Embedded and IoT.
This is the available list of GPU features used by the application:
- blit
- VG path with fixed color
- VG path with gradient
- transformation (rotate, scale)
The GPU features are connected to MicroEJ application by using three ways:
- MicroUI shapes and images drawings: MicroUI implementation by MicroEJ offers the possibility to perform each MicroUI’s built-in shape and image drawing (performed in software by default) using the GPU: draw a simple aliased line, draw a line with thickness and anti-aliasing, fill a rectangle, draw an elliptical arc, draw and blend and optionaly transform (rotate, scale) a pixelated image etc.
- Extended drawings: MicroUI is designed to allow the application to use extended drawings proposed by the MicroEJ platform. The MicroEJ platform for the RT595 with GPU proposes a set of new drawings: draw VG paths with fixed color or gradient, draw SVG images, draw vector fonts etc.
- Third-party engine: Thanks to the extended drawings, the platform can embed third-party engines to perform advanced drawings. The MicroEJ platform for RT595 embeds the Freetype engine to render TrueType fonts. The Freetype engine uses the VG engine to render the character glyphs.
All MicroUI built-in drawings and extended drawings (third-party engines included) are simulated on MicroEJ simulator. It allows the developer who writes the MicroEJ application to test his/her code (flow, rendering, widget placement etc.) quickly on computer before compiling and flashing on board.
1.6. References Documents
- Platform Developer Guide (how to integrate a C Board Support): https://docs.microej.com/en/latest/PlatformDeveloperGuide/index.html
- Application Developer Guide (Java applications development): https://docs.microej.com/en/latest/ApplicationDeveloperGuide/index.html
- RT500 Reference Manual
- VGLite® Graphics API for Vivante GCNanoLiteV Vector Graphics Core (NXP RT500 Edition)