cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Riverdi compile error on examples

elegantMorse
Associate

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

 

6 REPLIES 6

Is this a Riverdi project or one from ControllersTech ?

nemagfx_pool_mem

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

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
Up vote any posts that you find helpful, it shows what's working..
elegantMorse
Associate

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
Associate

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

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

Is Riverdi/TouchGFX aware of that issue yet?


@gatmt wrote:

Is Riverdi ... aware of that issue yet?


You could ask/tell them:

https://riverdi.com/contact 

contact@riverdi.com