Optimizing UI Updates

Optimizing UI Updates for Faster Flashing

When dealing with complex UI designs featuring multiple themes, the size of assets such as fonts and images can become quite large, sometimes reaching tens of megabytes. This increases flashing time and impacts the user experience during updates.

To optimize this, we can partition the storage area in Flint and update only the modified sections instead of flashing the entire UI. Let us take an example of developing an instrument cluster with three themes (A, B and C) using a 64MB flash starting at address 0x10000000, we can divide the storage as follows:

ID

Storage Type

Start Address

Size

Meta Data

External Flash

0x00000000

0x400000

Theme A Data

External Flash

0x00400000

0x1400000

Theme B Data

External Flash

0x01800000

0x1400000

Theme C Data

External Flash

0x02C00000

0x1400000

In the flint.efp Images tab, organize the assets by placing Theme A’s assets in the Theme A Data region, Theme B’s assets in the Theme B Data region, and Theme C’s assets in the Theme C Data region. When you export, all the contents will be correctly placed in their respective sections.

Make sure to program these four files in their respective locations.

For instance, if a new image is added to Theme A, only the Theme A Data and Meta Data sections need to be updated, rather than the entire flash memory. This significantly reduces update time.

Note: Please note it is important to update Meta Data on every update.