Graphics-Rich User Interfaces in a ‘Flash’ with BT81x

28 Jun 2024 – 

Introduction

One of the key features added to the BT81x series is support for connecting a Quad-SPI NOR Flash IC (Integrated Circuit) directly to the Embedded Video Engine (EVE), enabling designers to create highly customised user interfaces with minimal MCU memory usage.

Bridgetek are enhancing this popular feature with support for additional Flash ICs via an updated flash driver (BLOB) provided with EVE Asset Builder 2.12.0 (coming soon in July 2024).

Storage Challenges in Asset-Rich User Interfaces

Whether updating a product with an EVE-based display, or creating a new design, the product’s MCU is often limited in flash memory. Compact library code for EVE’s graphical, touch and audio features can be easily added. And indeed, built-in support for a range of efficient image formats and graphical capabilities (such as gradients, widgets, and text) allows fully featured user interfaces to be created using EVE with very little MCU storage needed.  

Figure 1 – Custom backgrounds, buttons, icons and fonts help differentiate a product

However, there are also applications where a lot of large graphical ‘assets’ such as full screen background images, custom fonts in very large sizes, animations and videos are highly desirable to enhance the product. EVE has 1M bytes built-in RAM to hold custom assets. Designers may find that the existing (or preferred) MCU has insufficient Flash memory to store the data for these assets. Some common approaches can involve trade-offs:

  • Switching to a higher end MCU family with more flash (This can increase complexity and require other hardware/firmware changes)
  • Attaching storage to the existing MCU (This can increase firmware complexity significantly and limit transfer speeds)
  • Storing in the existing MCU flash (This can limit the designer to much smaller and lower quality images/fonts)

BT81x has a solution

Offering a more effective solution, Bridgetek added support in the BT81x series for a Flash chip of up to 256MBytes capacity to be directly connected to EVE. Designers can now make their application rich in graphical content without worrying about the MCU storage, with the addition of a single Quad-SPI NOR Flash IC and a few resistors. Advantages of this approach include:

  • Minimal changes to the hardware with the existing MCU retained
  • Simple to use via the familiar EVE command set
  • Low MCU overhead due to the direct connection between EVE and the Flash
  • Fast performance due to EVE’s Flash drivers
  • High resolution and image quality due to the abundance of storage

 EVE’s Flash Drivers (BLOB)

There are several ways to load and update the Flash chip with the asset data. One fast and simple approach is to create a bin file using Bridgetek’s EVE Asset Builder (EAB) tool as shown in Figure 2. The bin file contains the assets along with padding to ensure the correct address alignment.

Figure 2 – Building a Flash bin file with BT817 Flash BLOB included

In addition to the assets, the first 4096 bytes of the Flash are normally programmed with the Flash BLOB (Binary Large Object) which acts as a flash ‘driver’ for the BT81x. One key function of this is to enable the BT81x to access the Flash in ‘Full Speed’ mode for significantly higher speed. The BLOB can also contain patches for other EVE functions. It is therefore recommended to always include the BLOB in the flash image.

Updated BLOB extends Flash Support for BT81x

To support an even wider range of Flash devices the BT81x, Bridgetek have announced an update to the BLOB in EAB 2.12.0. This adds the following features:

  • Support new ESMT/EON NOR Flash series EN35QX-A and part number EN35QX512A.
  • Patch for Display List Overfetch Errata (see BRT_TN_005)

The updated list of Flash devices for the BT81x series is shown in Figure 3.

Figure 3 – List of supported Flash ICs for BT81x

To use the new BLOB, you can re-build your flash image using the EAB 2.12.0 as shown in Figure 2. You can also load the new BLOB data into an existing application from your MCU via EVE using the CMD_FLASHUPDATE.

Note that in general, Flash devices must support the following features in order to work with BT81x:

  • SFDP table (Serial Flash Discoverable Parameters)
  • QPI/XIP (Execute In Place) mode
  • Quad-SPI supporting 72MHz or above

Conclusion

The direct Flash support on the BT81x enables designers to use the full potential of EVE to produce unique user interfaces with high resolution images, fonts, animations, videos and other assets, unhindered by storage limitations of their MCU’s flash.

With the release of EAB 2.12.0, Bridgetek will further enhance the Flash support for the BT81x devices via the updated BLOB, as well as providing a patch for the display list overfetch errata (BRT_TN_005). Designers can now select from an even wider range of Flash ICs for their application.