Skip to main content
Associate
Nov 14, 2023 5:22 PM UTC
Question

TouchGFX Riverdi compile error on examples

I am working with a Riverdi screen (RVT50HQSFWCA0) and TouchGFX for the first time. I followed the installation instructions and tried working with multiple TouchGFX examples and new simple projects. I get a compiler error in both TouchGFX and importing into STMCubeIDE. The error comes from nema_hal.c. I saw a known issue related to the nema file, so I downgraded STMCubeMX from 6.9 to 6.8, but that did not change anything. A picture of the compiler error is attached. 

The versions I am working with:

TouchGFX Designer: 4.22.1

STMCubeMX: 6.8.1

STMCubeIDE: 1.13.2

 

Does anyone have any recommendations?


Thanks

 

This topic has been closed for replies.

6 replies

Tesla DeLorean
Guru
Nov 14, 2023 5:31 PM UTC

Is this a Riverdi project or one from ControllersTech ?

nemagfx_pool_mem

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
Tesla DeLorean
Guru
Nov 14, 2023 5:34 PM UTC

I suspect you're going to need to unpack the line, the compiler settings, and any defines, to better understand what exactly the compiler is unhappy with.

Looks to be something C++ or .cpp related, double check the syntax of the line, and order of encounter.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
Associate
Nov 14, 2023 5:44 PM UTC

This is happening both with the Riverdi example projects and demos, as well as the STMicroelectronics examples for this chip. It is part of the TouchGFX generated code, so I am mostly concerned there's a bug or I misconfigured something. I am continuing to poke around at the files in the mean time. 

Orabnetay
Visitor II
Nov 16, 2023 8:29 AM UTC

Hi elegantMorse,

yesterday I made the same experience with the TouchGFX Designer 4.22.1 with the same Riverdi display.

My solution was change of file nema_hal.c - changing line 46.

 

 

//LOCATION_ALIGN_8BYTES(static uint8_t nemagfx_pool_mem[NEMAGFX_BYTE_POOL_SIZE]); /* NemaGFX memory pool */
static uint8_t nemagfx_pool_mem[NEMAGFX_BYTE_POOL_SIZE]; /* NemaGFX memory pool */

 

The macro LOCATION_ALIGN_8BYTES() is nowhere defined in the project.

Without, it removes the variable declaration inside the brackets.

After this change, my sample project compiled and it also run on hardware.

I need to figure out the purpose of the missing memory alignment and how to set it properly.

 

Regards

Associate II
Apr 2, 2024 10:09 AM UTC

Recently had the same issue. Thankfully, your suggestion solved it quickly.

Is Riverdi/TouchGFX aware of that issue yet?

Andrew Neil
Super User
Apr 2, 2024 10:34 AM UTC

@gatmt wrote:

Is Riverdi ... aware of that issue yet?


You could ask/tell them:

https://riverdi.com/contact 

contact@riverdi.com

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.