EveApps-BT82X is a collection of sample applications created as reference materials for Bridgetek’s 5th-generation graphics controller, the BT82X.
The samples are implemented in ANSI C with full source code provided. They are primarily instructional, focusing on demonstrating individual display lists and commands.
All applications share common resources located in the “common” folder.
Each sample includes a “project” subfolder that contains the required files for building the application with Microsoft Visual Studio 2019.
Users should be familiar with the BT82X programming guide and datasheet before using these examples.
📂 EveApps
├───common
│ ├───application | Application's common functions
│ ├───eve_flash | Blob binary for flash programming
│ └───eve_hal | Hardware abstraction layer to bridge different platforms
│
├───SampleApp
│ ├───Animation | Sample usage of animation
| ├───Audio | Sample usage of audio functionality
│ ├───Bitmap | Sample usage of bitmap
| ├───Extension | Sample usage of extension
│ ├───Flash | Sample usage of flash
│ ├───Font | Sample usage of font
| ├───Lvds | Sample usage of LVDSRX
│ ├───Primitives | Sample usage of drawing primitives
│ ├───Touch | Sample usage of touch functionality
│ ├───Utility | Sample usage of helper utilities
│ ├───Video | Sample usage of video playback
│ ├───Widget | Sample for default widgets
Note:
- Definitions for Eve registers, commands, and instructions can be found in common/eve_hal/EVE_GpuDef.h and common/eve_hal/EVE_CoCmd.h.
- The flash blob used for accessing the EVE-connected NOR flash chip is located in common/eve_flash.
- By default, NAND flash settings are defined in common/eve_hal/EVE_Config.h.
Unless specified otherwise, the default hardware platform is the VM820C. You may refer to the details at www.brtchip.com
Go to property
Change settings (EVE_PLATFORM_FT4222 / EVE_PLATFORM_MPSSE)
press F5 to build and run
# Launch the appropriate Developer Command Prompt for VS
# For 64-bit build, open:
# x64 Native Tools Command Prompt for VS
call "[path to VS]\VC\Auxiliary\Build\vcvars64.bat" # for 64-bit
# For 32-bit build, open:
# x86 Native Tools Command Prompt for VS
call "[path to VS]\VC\Auxiliary\Build\vcvars32.bat" # for 32-bit
cd [path to EveApps]
mkdir build
cd build
cmake -G "NMake Makefiles" -DEVE_APPS_PLATFORM=EVE_PLATFORM_FT4222 -DEVE_APPS_GRAPHICS=[EVE graphics] -DEVE_APPS_DISPLAY=[EVE display] -DEVE_APPS_SPI=[EVE SPI] -DCMAKE_BUILD_TYPE=Debug ..
nmake SampleApp_[Project Name]
# EVE_APPS_PLATFORM can be one of : EVE_PLATFORM_FT4222 or EVE_PLATFORM_MPSSE
# [EVE graphics] can be one of: EVE_GRAPHICS_BT820, VM820B15A, VM820B10A
# [EVE display] can be one of: EVE_DISPLAY_WUXGA (1920x1200 LCD), EVE_DISPLAY_FHD (1920x1080 LCD), EVE_DISPLAY_WXGA (1280x800 LCD)
# [EVE SPI] can be one of : EVE_SPI_QUAD, EVE_SPI_DUAL, EVE_SPI_SINGLE (FT4222 can support Quad/Dual/Single, MPSSE supports single only)
# [Project Name] is the folder name of a subfolder inside SampleApp , one example is SampleApp_Widget
# The output binary [Project Name].exe can be found in build\[Project Name]
One example is :
cmake -G "NMake Makefiles" -DEVE_APPS_PLATFORM=EVE_PLATFORM_FT4222 -DEVE_APPS_GRAPHICS=EVE_GRAPHICS_BT820 -DEVE_APPS_DISPLAY=EVE_DISPLAY_WUXGA -DCMAKE_BUILD_TYPE=Debug ..Requires the Pico toolchain https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads to be installed.
Pico-SDK version 2.2.0 is required
$ git clone https://github.com/raspberrypi/pico-sdk.git --branch master
$ git submodule update --initThe following steps will build for Raspberry Pi Pico.
- Install cmake 3.19.x, Visual Studio 2019 community (must select C++), GNU Arm Embedded Toolchain for window.
- Launch the Developer Command Prompt for VS
set PICO_SDK_PATH=[path to pico-sdk]
set PICO_TOOLCHAIN_PATH=[path to GNU Arm Embedded Toolchain\\bin]
cd EveApps
mkdir build
cd build
cmake -G "NMake Makefiles" -DEVE_APPS_PLATFORM=EVE_PLATFORM_RP2040 -DEVE_APPS_GRAPHICS=[EVE graphics] -DEVE_APPS_DISPLAY=[EVE display] -DEVE_APPS_SPI=[EVE SPI] -DCMAKE_BUILD_TYPE=Debug ..
nmake [Project name]
# [EVE graphics] can be one of: EVE_GRAPHICS_BT820, VM820B15A, VM820B10A
# [EVE display] can be one of: EVE_DISPLAY_WUXGA (1920x1200 LCD), EVE_DISPLAY_FHD (1920x1080 LCD), EVE_DISPLAY_WXGA (1280x800 LCD)
# [EVE SPI] must : EVE_SPI_SINGLE (PR2040 supports single only)
# [Project Name] is the folder name of a subfolder inside SampleApp , one example is SampleApp_Widget
# The output binary [Project Name].uf2 can be found in build\SampleApp\[Project]Example:
$ cmake.exe -G "NMake Makefiles" -DEVE_APPS_GRAPHICS=EVE_GRAPHICS_BT820 -DEVE_APPS_PLATFORM=MM2040EV -DEVE_APPS_DISPLAY=EVE_DISPLAY_WUXGA -DEVE_APPS_SPI=EVE_SPI_SINGLE -DCMAKE_BUILD_TYPE=Debug ..
$ nmake
| RP2040 | EVE | UART | SD |
|---|---|---|---|
| GP0 (TX) | RX (debug) | ||
| GP1 (RX) | TX (optional) | ||
| GP2 (SPI0 SCK) | SCK | ||
| GP3 (SPI0 MOSI) | MOSI | ||
| GP4 (SPI0 MISO) | MISO | ||
| GP5 (GPIO) | CS | ||
| GP6 (GPIO) | INT | ||
| GP7 (GPIO) | PWD | ||
| 5V | 5V | ||
| GND | GND |
This version is v1.3.0_RC1
v1.3.0_RC1
- Added new sample applications:
- Single-channel and REG565 use cases for LVDSRX
- Z-order bitmap use case
- Double-buffered video usage
- Video playback in loop mode
- Added support for the new VM820B10A module
- Fixed audio issues caused by the patch and updated the patches
- Added limitation notes for the flash write function
- Updated coprocessor completion check to use REG_CMDB_SPACE
v1.2.0_RC1
- Refactored sample application code
- Added default patch loading support
- Introduced new functions for NAND flash
- Updated RP2040 SDK support to version 2.2.0
- Removed Display_StartColor
- Added new sample applications:
Video playback from SD card with pause/resume functionality
CMD_COPYLIST example
- Fixed font indexer issue on RP2040
- Corrected configuration errors in Release mode
- Removed unused code
- Updated asset naming to align with EAB 4.0
v1.1.0_RC1
- Added support for Raspberry Pi Pico RP2040
- Added support for the VM820B15A module
- Updated README to clarify 64-bit and 32-bit build support
- Enhanced LVDSRX sample applications and added a showcase demonstrating the use of swapchain with LVDSRX
- Added a new sample application demonstrating extension usage, including patch loading and the use of newly introduced commands from the patch
Commands: CMD_REGION, CMD_ENDREGION, CMD_TOUCHOFFSET, CMD_ENDTOUCHOFFSET
- Added a Flash sample application demonstrating how to program flash from an EVE-connected SD card
- Performed code cleanup
v1.0.0_RC1
- Refactored and organized codebase for Doxygen integration
- Added Doxygen documentation support for EveApps APIs
- Enhanced the QSPI read/write process
- Removed emulator support; emulation is no longer supported starting from BT820
v1.0.0_Beta
- Introduced a new sample application demonstrating the use of LVDSRX
- Added sample code to showcase new commands and options introduced in BT820
Commands: CMD_SKIPCOND, CMD_WAITCOND
Options: OPT_COMPLETEREG
- Added interrupt driven rendering example
- Code cleanup and synced register/command names with BRT_AN_086 BT82X Series Programming Guide v1.1
pre_release v0.1.0
- Initial release
- Added ten sample applications with FT4222 and MPSSE support for BT820



