riverdi-eve project is an easy-to-use C library and example app (good starting point for your own projects) for the Bridgetek’s FT8XX EVE (Embedded Video Engine) solutions:
- EVE 1 series: FT800 and FT801,
- EVE 2 series: FT810, FT811, FT812 and FT813,
- EVE 3 series: BT815 and BT816,
- EVE 4 series: BT817 and BT818
The library contains support for the most popular hardware/software platforms like:
- Raspberry Pi (and other linux-based Single Board Computers),
- STM32 (with full support for Riverdi Revelation Board),
- Windows (with FT232H USB-SPI converters - for example Riverdi Hermes Board),
- Arduino (source code available as a separate GitHub repository - riverdi-eve-arduino).
Library supports instructions in a similar format to the FT80x and FT81x Series Programmers Guides and the EVE Screen Editor.
The riverdi-demo.c file can be edited to produce the final application, calling the functions from the underlying layers.
This layer is designed to allow the main application to use syntax close to that of the FT80X/FT81X Programmers Guide and make it more user friendly. The functions provided in this layer handle co-processor operation and assist with creating and executing co-processor lists as well as keeping track of the offset within the FIFO for each command and sending parameters of commands such as text strings.
This layer translates the calls from the API layer above into a series of SPI byte transfers formatted for the protocol used by the FT8XX. It includes a series of functions which send the register address as well as for reading and writing 8/16/32-bit values. It also has functions for checking the read and write pointers of the RAM_CMD FIFO and for checking the free space available, which are used by the layers above.
This layer provides an interface to the hardware. It takes the SPI transfers from the EVE layer and translates them into the low-level operations (SPI and GPIO operations for chip select and power down).
If porting the provided code to another type of hardware/software platform, the code in host_layer directory should be customized to match the peripheral API of the chosen platform whilst keeping the same syntax for calls to this layer from the EVE layer above.
The riverdi-eve project uses a standard Makefile and GNU make to build and customize the source files for all supported platforms.
Note: before compilation edit Makefile.linux file to choose Embedded Video Engine series (-DEVE_1, -DEVE_2 or -DEVE_3 flags), choose type and size of connected TFT module (choose predefined macros for Riverdi EVE modules or edit timings manually in modules.h file for custom displays) or to adjust compilation settings.
- Clone the repository (if you haven't done so already):
git clone https://github.com/riverdi/riverdi-eve.git
- Change directory to the repository folder:
cd riverdi-eve
- Build riverdi-eve project:
make -f Makefile.linux
For Windows OS, riverdi-eve project can be easily compiled under MinGW (minimalist development environment for native Microsoft Windows applications). Please visit official MinGW project website for detailed tutorials:
make -f Makefile.win32
- Before building, please install the GNU compiler toolchain on your Linux platform. You can easily use toolchain shipped with recent Debian and Ubuntu versions:
sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi
- You also might want to install some other debuggers or dedicated software for your programmer (for example stlink):
sudo apt-get install openocd gdb-arm-none-eabi
- Clone the repository:
git clone https://github.com/riverdi/riverdi-eve.git
- Change directory to the repository folder:
cd riverdi-eve
- Build riverdi-eve project:
make -f Makefile.stm32
- Flash your device:
make -f Makefile.stm32 flash
- Clone the repository:
git clone https://github.com/riverdi/riverdi-eve.git
- Start SW4STM32 IDE and import riverdi-eve project by choosing:
File -> New -> Other -> C/C++ -> Makefile Project with Existing Code
-
Rename Makefile.stm32 file to Makefile (alternatively, replace defult build command make with make -f Makefile.stm32 in Project Properties)
-
Now you can build project by choosing:
Project -> Build All [Ctrl+B]
Please contact Riverdi support - support@riverdi.com
See LICENSE.txt file for details.