cancel
Showing results for 
Search instead for 
Did you mean: 

IAR Project generation issues

George.P
Associate III

Hello,

I'm experiencing issues with TouchGFX file/folder generation.

Below the steps I've followed and issues encountered:

  • Create and generate CubeMX project (NUCLEO-U545RE-Q) with TouchGFX, ThreadX and SPI for IAR
  • Open touchgfx.part file, add some text on the startup screen, generate code
  • Declare the frame buffer in TouchGFXGeneratedHAL.cpp (didn't think of a better way to statically allocate it) 
    • static uint16_t touchGfxBuffer[145][240];
  • Open IAR workspace, compile, following missing files errors
    • Fatal Error[Pe1696]: cannot open source file "touchgfx/hal/BlitOp.hpp" 
    • Fatal Error[Pe1696]: cannot open source file "platform/driver/touch/TouchController.hpp" 
    • Fatal Error[Pe1696]: cannot open source file "touchgfx/hal/GPIO.hpp" 
    • Fatal Error[Pe1696]: cannot open source file "touchgfx/hal/HAL.hpp" 
    • Fatal Error[Pe1696]: cannot open source file "texts/TypedTextDatabase.hpp" 
  • Fix the path errors adding in preprocessor
    • $PROJ_DIR$\..\TouchGFX/generated\texts\include
      $PROJ_DIR$\..\TouchGFX/generated\fonts\include
      $PROJ_DIR$\..\TouchGFX\generated\gui_generated\include
      $PROJ_DIR$\..\TouchGFX\generated\images\include
      $PROJ_DIR$\..\TouchGFX\gui\include
      $PROJ_DIR$\..\Middlewares\ST\touchgfx\framework\include
  • Linker errors probably because .cpp modules have not been added in the IAR project by the generator
    • Error[Li005]: no definition for "touchgfx::LCD16bpp::LCD16bpp()"
    • Error[Li005]: no definition for "touchgfx::HAL::instance"
    • Error[Li005]: no definition for "touchgfx::HAL::DISPLAY_WIDTH"
    • And more, 26 Li005 errors in total

IAR EWARM 9.50.2

CubeMX 6.12.1

TouchGFX Generator 4.24.1

TouchGFX Designer 4.24.1

Does this work on IAR 8.50?

Please advise.

Best regards,

George

 

 

4 REPLIES 4
GaetanGodart
ST Employee

Hello @George.P ,

 

Why do you set the buffer location to "By address" instead of "By allocation". We usually recommend using "By allocation".

TouchGFX does work for IAR 8.50.

Can you do a text search in your folder to look for the function LCD16bpp()?

Maybe you are missing the TouchGFX library (.a file), they should be in Middlewares\ST\touchgfx\lib\core\cortex_m33

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
GaetanGodart
ST Employee

Hello @George.P ,

 

Have you been able to move forward on your issue?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
George.P
Associate III

Hello, @GaetanGodart,

Thank you for your feedback.


Why do you set the buffer location to "By address" instead of "By allocation". We usually recommend using "By allocation".


No specific reason, I just wanted to make sure the buffer is properly allocated, without searching the generated code for the buffer's location. I'll try it next time to see how it behaves.

I haven't touched the project since my last message a month ago. I'll update once I do so.

Thanks again.

Best regards,

GaetanGodart
ST Employee

Ok no problem! :smiling_face_with_smiling_eyes:

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)