Skip to main content
njinodra
Associate
April 30, 2019
Question

How to properly configure device with TouchGFX enabled in STM32CubeIDE?

  • April 30, 2019
  • 15 replies
  • 4994 views

I am trying to use STM32CubeIDE for with STM32F429i DISC1 for generating code with TouchGFX enabled in Device configuration tool. I have configured Touchgfx options as shown below.0690X000008B6yRQAS.jpg

After clicking EXECUTE button in touchgfx tab, touchgfx window opens.

In touchgfx, while trying to Generate code I am getting error. I have attached output_PostGenerate.log file

After closing TouchGFX, when i am trying to build project i am getting following errors.

18:48:16 **** Incremental Build of configuration Debug for project T2 ****

make -j4 all

arm-none-eabi-gcc "../Src/stm32f4xx_it.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DDEBUG -DSTM32F429xx -c -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../TouchGFX/gui/include -I../TouchGFX/generated/fonts/include -I../Drivers/BSP/Components/exc7200 -I../Drivers/BSP/Components/ts3510 -I../Drivers/BSP/Components/stmpe811 -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../TouchGFX/generated/texts/include -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Src -I../TouchGFX/generated/images/include -I../Drivers/BSP/Components/ili9341 -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Inc -I../Drivers/CMSIS/Include -I../Middlewares/ST/TouchGFX/touchgfx/framework/include -I../TouchGFX/generated/gui_generated/include -I../Drivers/BSP/Components/Common -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Drivers/BSP/Components/ampire480272 -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/stm32f4xx_it.d" -MT"Src/stm32f4xx_it.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Src/stm32f4xx_it.o"

arm-none-eabi-gcc -o "T2.elf" @"objects.list"  -mcpu=cortex-m4 -T"C:\work\T2\STM32F429ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="T2.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group

Startup/startup_stm32f429zitx.o: In function `LoopFillZerobss':

C:/work/T2/Debug/../Startup/startup_stm32f429zitx.s:113: undefined reference to `main'

Src/stm32f4xx_it.o: In function `LTDC_IRQHandler':

C:/work/T2/Debug/../Src/stm32f4xx_it.c:205: undefined reference to `hltdc'

Src/stm32f4xx_it.o: In function `DMA2D_IRQHandler':

C:/work/T2/Debug/../Src/stm32f4xx_it.c:219: undefined reference to `hdma2d'

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:51: T2.elf] Error 1

"make -j4 all" terminated with exit code 2. Build might be incomplete.

18:48:20 Build Failed. 4 errors, 0 warnings. (took 3s.477ms)

This topic has been closed for replies.

15 replies

Martin KJELDSEN
Principal III
May 8, 2019

I guess this is one of the "caveats" of an Eclipse based solution. You're most likely using a lot of standard components, but what you'd really want is a way to create a "TouchGFX" project which is then, implicitly, is a C++ project.

Maybe there'll be more cases like this, but it's definitely something we can talk to the CubeIDE team about. It's great to have this kind of real life usage information.

Best regards,

Martin

hansd56
Senior
May 8, 2019

When a new project is created in the embedded CubeMX, on the first page either C or C++ can be selected (page where the project name is typed in).

Martin KJELDSEN
Principal III
May 21, 2019

Check out the new sticky on TouchGFX/CubeIDE.