cancel
Showing results for 
Search instead for 
Did you mean: 

Limit to number of Text Area items on TouchGFX screen?

DBart.1
Associate II

Does anyone know what might limit the number of text (Text Area) items that can be displayed on the screen?

I am using TouchGFX designer (4.13.0) to generate an application on a STM32H743I-EVAL2 board. My application has very basic screens. I find that a screen will not appear on the display if it contains >12 visible text items, and the application appears to hang. Additional text items can be in the design so long as visible is checked on no more than 12 items. A button containing text seems to count as one of the 12 text items. I ruled out: length of text content, font size, and font color as affecting this problem.

I can programatically make additional text items appear by adding a button, where a button click makes a 13th, 14th (and probably more) text items visible.

Let me know if you have a suggestion or can explain why this problem occurs.

Thank you,

Dan

12 REPLIES 12
Martin KJELDSEN
Chief III

What's your application doing when it hangs? There's no "12 widget" limit, so maybe you're running out of stack for your task, if you're using one. But if you say you can add more programatically that sounds unlikely. I'd start by investigating what the program is doing when it crashes.

/Martin

DBart.1
Associate II

My application has two screens. The startup screen has a button with the interaction set to change to a second screen when the button is clicked. The second screen has the text items that I described and a button that returns to the startup screen. On the second screen, if I set visible to on for >12 text areas then the second screen is not displayed. In this instance the first screen remains displayed, but the device is not responsive.

I am loading to flash using the "Run Target" button of the TouchGFX developer.

I had tried increasing stack space (from 0x1000 to larger), but this did not resolve the problem.

I created this very simple application after initially encountering the problem in a larger application and in order to isolate the problem / behavior.

Dan

Martin KJELDSEN
Chief III

Are you able to debug?

I've got an H7B3 board on my desk here, but i'll have to check tomorow. It's past 1am, yikes!

/Martin

Martin,

Thank you for the responses. I hope you are asleep by now. I can wait until tomorrow morning for addition communication.

I have tried to complie using Keil uVision after loading the STM32H743I-EVAL.uvprojx project file. However, I get errors (see below) associated with include files. These files appear to be present, but not in the locations expected by the project.

Note - errors (below) are not resolved when I turn off MicroLIB.

Thank you,

Dan

===

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'

*** Warning: You are compiling one or more files of source type C++ and have selected 'use MicroLIB'. MicroLIB does not support C++!

  

Rebuild target 'STM32H743I-EVAL'

assembling startup_stm32h743xx.s...

compiling TouchGFXGPIO.cpp...

../TouchGFX/target/TouchGFXGPIO.cpp(18): error: #5: cannot open source input file "touchgfx/hal/GPIO.hpp": No such file or directory

 #include <touchgfx/hal/GPIO.hpp>

../TouchGFX/target/TouchGFXGPIO.cpp: 0 warnings, 1 error

compiling CortexMMCUInstrumentation.cpp...

../TouchGFX/target/CortexMMCUInstrumentation.hpp(4): error: #5: cannot open source input file "platform/core/MCUInstrumentation.hpp": No such file or directory

 #include <platform/core/MCUInstrumentation.hpp>

../TouchGFX/target/CortexMMCUInstrumentation.cpp: 0 warnings, 1 error

compiling TouchGFXHAL.cpp...

../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp(20): error: #5: cannot open source input file "touchgfx/hal/HAL.hpp": No such file or directory

 #include <touchgfx/hal/HAL.hpp>

../TouchGFX/target/TouchGFXHAL.cpp: 0 warnings, 1 error

compiling TouchGFXConfiguration.cpp...

../TouchGFX/target/generated/TouchGFXConfiguration.cpp(17): error: #5: cannot open source input file "texts/TypedTextDatabase.hpp": No such file or directory

 #include <texts/TypedTextDatabase.hpp>

../TouchGFX/target/generated/TouchGFXConfiguration.cpp: 0 warnings, 1 error

compiling STM32TouchController.cpp...

../TouchGFX/target/STM32TouchController.hpp(23): error: #5: cannot open source input file "platform/driver/touch/TouchController.hpp": No such file or directory

 #include <platform/driver/touch/TouchController.hpp>

../TouchGFX/target/STM32TouchController.cpp: 0 warnings, 1 error

compiling TouchGFXGeneratedHAL.cpp...

../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp(20): error: #5: cannot open source input file "touchgfx/hal/HAL.hpp": No such file or directory

 #include <touchgfx/hal/HAL.hpp>

../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp: 0 warnings, 1 error

compiling OSWrappers.cpp...

../TouchGFX/target/generated/OSWrappers.cpp(17): error: #5: cannot open source input file "touchgfx/hal/OSWrappers.hpp": No such file or directory

 #include <touchgfx/hal/OSWrappers.hpp>

../TouchGFX/target/generated/OSWrappers.cpp: 0 warnings, 1 error

compiling app_touchgfx.c...

compiling STM32DMA.cpp...

../TouchGFX/target/generated/STM32DMA.cpp(20): error: #5: cannot open source input file "touchgfx/hal/OSWrappers.hpp": No such file or directory

 #include <touchgfx/hal/OSWrappers.hpp>

../TouchGFX/target/generated/STM32DMA.cpp: 0 warnings, 1 error

compiling stm32h7xx_it.c...

compiling freertos.c...

compiling stm32h7xx_hal_msp.c...

compiling stm32h7xx_hal_timebase_tim.c...

compiling main.c...

compiling stm32h743i_eval_bus.c...

compiling stm32h743i_eval_io.c...

compiling exc7200.c...

compiling exc7200_reg.c...

compiling mfxstm32l152_reg.c...

compiling stm32h743i_eval_sdram.c...

compiling stm32h743i_eval_qspi.c...

compiling ts3510_reg.c...

compiling stm32h743i_eval_ts.c...

compiling mt25tl01g.c...

compiling mfxstm32l152.c...

compiling ts3510.c...

compiling is42s32800g.c...

compiling stm32h7xx_hal_crc_ex.c...

compiling stm32h7xx_hal_crc.c...

compiling stm32h7xx_hal_cortex.c...

compiling stm32h7xx_hal_flash.c...

compiling stm32h7xx_hal_flash_ex.c...

compiling stm32h7xx_hal_rcc.c...

compiling stm32h7xx_hal_hsem.c...

compiling stm32h7xx_hal_pwr.c...

compiling stm32h7xx_hal_gpio.c...

compiling stm32h7xx_hal_rcc_ex.c...

compiling stm32h7xx_hal_dma.c...

compiling stm32h7xx_hal_pwr_ex.c...

compiling stm32h7xx_hal_dma_ex.c...

compiling stm32h7xx_hal_mdma.c...

compiling stm32h7xx_hal_i2c_ex.c...

compiling stm32h7xx_hal_exti.c...

compiling stm32h7xx_hal.c...

compiling stm32h7xx_ll_fmc.c...

compiling stm32h7xx_hal_sdram.c...

compiling stm32h7xx_hal_ltdc_ex.c...

compiling stm32h7xx_hal_dma2d.c...

compiling stm32h7xx_hal_ltdc.c...

compiling croutine.c...

compiling stm32h7xx_hal_i2c.c...

compiling stm32h7xx_hal_qspi.c...

compiling list.c...

compiling event_groups.c...

compiling system_stm32h7xx.c...

compiling stream_buffer.c...

compiling timers.c...

compiling queue.c...

compiling tasks.c...

compiling heap_4.c...

compiling cmsis_os2.c...

compiling stm32h7xx_hal_tim_ex.c...

compiling stm32h7xx_hal_tim.c...

compiling port.c...

"STM32H743I-EVAL\STM32H743I-EVAL.axf" - 8 Error(s), 0 Warning(s).

Target not created.

Build Time Elapsed: 00:00:55

Yeah i've talked about the microLib thing with CubeMX team and it seems they've implemented a fix, probably for next version.

It sounds like you haven't "Generate code" from the designer (boot straps the project-definition created by TouchGFX Generator)

/Martin

The problem regarding Keil was that I had not set the toolchain to use MDK-ARM in CubeMX. I am now able to build with Keil, however the display is jumbled.

Should I be using STM32Cube FW_H7 V1.6.0 or V1.7.0?

BTW - Can you describe the change that will be made for microLIB? Or what I should do to accomodate until this change is released?

Thank you,

Dan

I guess the latest version should always be best 🙂 Re: microLib, the option will be removed for TouchGFX projects, because microlib is not compatible with c++ projects.

Re: Jumbled - What's the application doing?

/Martin

When built and flashed using Keil, the application goes to HardFault_Handler(void) when MX_TouchGFX_Init() executes the instruction: FontManager::setFontProvider(&fontProvider);

Dan

Sounds like texts and fonts are in external flash which isn't acessible yet. Is it configured and set up?