Jump to content

stm32f746g + Keil + FreeRTOS + uGFX => problem


Recommended Posts

Posted (edited)

Hello. 
I'm very interested in using your graphic interface library. I spent 2 days, trying to add uGFX to generated by CubeMX project. I used this instruction and library from this example , as well as gfxconf.h. In  gfxconf.h I have changed OS_KEIL to OF_FREERTOS.
After that I added gdisp_lld_STM32LTDC driver.  "cannot open source input file "board_STM32LTDC.h", so I added path to this file to linker. Now I've got many errors like: "identifier "HAL_LockTypeDef" is undefined". 


Please look at my project ( alternative link ). Do you have an idea, what's wrong? Is it better for me to use Atolic True Studio to work with uGFX?

Edited by Ivan_Kuzz
Posted

Hello @Ivan_Kuzz and welcome to the µGFX community!

We'll have a look at this as soon as possible but that might take a couple of days.
In general µGFX works very well together with Keil µVision and we use Keil µVision ourselves a lot in customer projects. From our point of view there is no need to switch.

Please don't hesitate to ask if you have any other questions.

  • 2 months later...
Posted (edited)

Got the same problem while building a project from scratch using CubeMX.

Nearly 30 errors of identifier "HAL_LockTypeDef" is undefined and HAL_StatusTypeDef is undefined errors have been raised while compiling a gdisp_lld_STM32LTDC.c include chain. Removal of preprocessor symbols fixes this issue ( CubeMX defines two: USE_HAL_DRIVER and STM32F746xx ).

Second issue is Keil optimization - at level -O3 (which is default here) compiler brings corrupted image to display without any warnings/errors.

Comments on this two issues much appreciated - may be there is a way to keep optimization?

Capture.PNG

Edited by Joel Bodenmann
Removing unnecessary quote
Posted

Anytime that changing the optimization level changes the output - that indicates a bug in the compiler optimiser (or atleast an inadequacy). While we try to write code to avoid common optimiser bugs, uGFX supports many compilers and we can't cover every optimiser bug in every compiler.

Unfortunately as a result we always suggest compiling only with basic compiler optimiser settings ie -O0 or -O1. -O2 seems to work on some compilers but not all.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...