Overview

Sparklet is supported on IMXRT1170 series of microcontrollers from NXP. Optimized for Cluster use cases, these MCU’s have in-built GPUs that can support 2D graphics. Sparklet leverages the GPU which in turn depends on the VGlite library, which are the pre-requisites for Sparklet to run on IMXRT1170 MCUs.

It is essential to understand the memory architecture in IMXRT1170, VGlite and Sparklet to optimize the performance.

Below is the memory map of IMXRT1170 (CM7). The MCU has 2 memory regions of interest:

GHS IDE

Memory Map of IMXRT1170

  • Internal SRAM starting at address 0x20360000 for a size of 2MB.

  • External SDRAM starting at address 0x80000000 for a size of 256MB.

Sparklet uses memory pools to manage its memory as captured below.

Pool

Source Heap

Memory Region

Usage

Typical consumption

Internal SRAM

NA. Direct Memory via value

IRAM

For allocating widgets, lookup table etc. Set via BMEM_POOL_DEFAULT macro in imxrt1170_bsp.c

Based on project size

External SDRAM

SDRAM Heap via Auto alloc option

External SDRAM

Frame buffer configuration as set in Flint EFP -> Memory and Storage

Based on display resolution and configuration

Configuring Sparklet for IMXRT1170

Running Sparklet over RTOS