cancel
Showing results for 
Search instead for 
Did you mean: 

Blank white screen coming in STM32H750B board

SivaVishnu09
Associate III

Hi all!

I have been working on the stm32h750b board and when i tried to flash a sample example project named TouchGFX for STM32H750B-DK board with external loader MT25TL01G_STM32H750B-DISCO.stldr in the debug session. I'm experiencing these.

1. the IDE goes not responding 

2. after some time it says download verified successfully.

3. But the screen is white, and the board is in reset condition till i press the reset button.

 

Please help me with how to proceed further. I need to make the GUI program TouchGFX be seen on the board. The example code was from the example selector in the stm32cubeIDE named TouchGFX

@STea  

Regards,

Siva

1 ACCEPTED SOLUTION

Accepted Solutions
JohanAstrup
ST Employee

I am able to reproduce the issue now. It looks like the bootloader is not flashed when using Run Target. If so, that is an error. I will investigate further and get back to you.

In the meantime, you can fix it by manually flashing the bootloader with STM32CubeProgrammer, as shown below.

JohanAstrup_0-1770989576787.png

Best regards,
Johan

 

View solution in original post

9 REPLIES 9
JohanAstrup
ST Employee

Hello @SivaVishnu09.

Could you try this procedure instead:

  1. Open TouchGFX Designer.
  2. Go to the 'Create' tab.
  3. Select the STM32H750B Discovery Kit TBS.
  4. Press the 'Create' button in bottom-right corner.
  5. Create a simple GUI (or import one).
  6. Press the 'Run Target' button (F6).

JohanAstrup_1-1770388676856.png

Best regards,
Johan

 

SivaVishnu09
Associate III

Hi John, 

I tried the exact procedure which you have mentioned and for the point 5 - i just inserted an image in the GUI and this is the log 

rogram and Run Target
Copy Framework
Copying TouchGFX framework version 4.26.0 to D:\STM_workspace\MyApplication_test\Middlewares\ST\touchgfx
Done
Generate
Wrote config/gcc/app.mk
Wrote config/msvs/Application.props
Wrote generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp
Wrote generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp
Wrote generated/gui_generated/include/gui_generated/common/SimConstants.hpp
Wrote generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp
Wrote generated/gui_generated/src/common/FrontendApplicationBase.cpp
Wrote generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp
Wrote generated/simulator/gcc/Makefile
Wrote generated/simulator/include/simulator/mainBase.hpp
Wrote generated/simulator/include/simulator/video/DirectFrameBufferVideoController.hpp
Wrote generated/simulator/include/simulator/video/MJPEGDecoder.hpp
Wrote generated/simulator/include/simulator/video/SoftwareMJPEGDecoder.hpp
Wrote generated/simulator/msvs/touchgfx_prebuild.targets
Wrote generated/simulator/msvs/touchgfx_sdl2.props
Wrote generated/simulator/msvs/touchgfx.props
Wrote generated/simulator/src/mainBase.cpp
Wrote generated/simulator/src/video/SoftwareMJPEGDecoder.cpp
Wrote generated/simulator/touchgfx.ico
Wrote generated/simulator/touchgfx.rc
Wrote generated/simulator/touchgfx.res
Wrote generated/user.config
Wrote gui/include/gui/common/FrontendApplication.hpp
Wrote gui/include/gui/common/FrontendHeap.hpp
Wrote gui/include/gui/model/Model.hpp
Wrote gui/include/gui/model/ModelListener.hpp
Wrote gui/include/gui/screen1_screen/Screen1Presenter.hpp
Wrote gui/include/gui/screen1_screen/Screen1View.hpp
Wrote gui/src/common/FrontendApplication.cpp
Wrote gui/src/model/Model.cpp
Wrote gui/src/screen1_screen/Screen1Presenter.cpp
Wrote gui/src/screen1_screen/Screen1View.cpp
Wrote simulator/gcc/Makefile
Wrote simulator/main.cpp
Wrote simulator/msvs/Application.sln
Wrote simulator/msvs/Application.vcxproj
Wrote simulator/msvs/Application.vcxproj.filters
Wrote target.config
Done
Generate Assets
make -f simulator/gcc/Makefile assets -j8
Reading ./application.config
Reading ./target.config
Generating generated/images/src/image_Background_treadmill_2.cpp
Generating generated/images/include/BitmapDatabase.hpp
Generating generated/images/include/images/BitmapDatabase.hpp
Generating generated/images/src/BitmapDatabase.cpp
Generating generated/images/include/images/SVGDatabase.hpp
Generating generated/images/src/SVGDatabase.cpp
Generating generated/videos/include/videos/VideoDatabase.hpp
Cleaning generated files from generated/texts and generated/fonts.
Generating generated/fonts/include/fonts/GeneratedFont.hpp
Generating generated/fonts/src/GeneratedFont.cpp
Generating generated/fonts/include/fonts/UnmappedDataFont.hpp
Generating generated/fonts/src/UnmappedDataFont.cpp
Generating generated/fonts/include/fonts/CachedFont.hpp
Generating generated/fonts/src/CachedFont.cpp
Generating generated/fonts/include/fonts/FontCache.hpp
Generating generated/fonts/src/FontCache.cpp
Generating generated/fonts/src/CompressedFontCache.cpp
Generating generated/fonts/src/CompressedUnmappedFontCache.cpp
Generating generated/fonts/include/fonts/CompressedFontCache.hpp
Generating generated/fonts/include/fonts/CompressedUnmappedFontCache.hpp
Generating generated/fonts/src/ApplicationFontProvider.cpp
Generating generated/fonts/include/fonts/ApplicationFontProvider.hpp
Generating generated/texts/include/texts/TextKeysAndLanguages.hpp
Generating generated/texts/include/texts/TypedTextDatabase.hpp
Generating generated/texts/src/TypedTextDatabase.cpp
Generating generated/texts/src/Texts.cpp
Generating generated/texts/src/LanguageGb.cpp
Generating generated/fonts/src/Font_verdana_10_4bpp_0.cpp
Generating generated/fonts/src/Table_verdana_10_4bpp.cpp
Generating generated/fonts/src/Kerning_verdana_10_4bpp.cpp
Generating generated/fonts/src/Font_verdana_20_4bpp_0.cpp
Generating generated/fonts/src/Table_verdana_20_4bpp.cpp
Generating generated/fonts/src/Kerning_verdana_20_4bpp.cpp
Generating generated/fonts/src/Font_verdana_40_4bpp_0.cpp
Generating generated/fonts/src/Table_verdana_40_4bpp.cpp
Generating generated/fonts/src/Kerning_verdana_40_4bpp.cpp
Generating generated/fonts/src/VectorFontRendererBuffers.cpp
Done
Post Generate
touchgfx update_project --project-file=simulator/msvs/Application.vcxproj
Done
Post Generate Target
touchgfx update_project
.cproject file: ../STM32CubeIDE/.cproject
Writing STM32CubeIDE project file: ../STM32CubeIDE/.project
Writing STM32CubeIDE project file: ../STM32CubeIDE/.cproject
Done
Compile
make -f ../gcc/Makefile -j8
Middlewares/ST/touchgfx
Reading TouchGFX/application.config
Reading TouchGFX/target.config
Compiling TouchGFX/gui/src/screen1_screen/Screen1Presenter.cpp
Compiling TouchGFX/gui/src/screen1_screen/Screen1View.cpp
Compiling TouchGFX/gui/src/model/Model.cpp
Compiling TouchGFX/gui/src/common/FrontendApplication.cpp
Compiling TouchGFX/generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp
Compiling TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp
Compiling TouchGFX/generated/fonts/src/Font_verdana_40_4bpp_0.cpp
Compiling TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp
Compiling TouchGFX/generated/fonts/src/GeneratedFont.cpp
Compiling TouchGFX/generated/fonts/src/UnmappedDataFont.cpp
Compiling TouchGFX/generated/fonts/src/CompressedUnmappedFontCache.cpp
Compiling TouchGFX/generated/fonts/src/CompressedFontCache.cpp
Compiling TouchGFX/generated/fonts/src/Kerning_verdana_40_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/Table_verdana_10_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/Kerning_verdana_10_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/Kerning_verdana_20_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/FontCache.cpp
Compiling TouchGFX/generated/fonts/src/Font_verdana_10_4bpp_0.cpp
Compiling TouchGFX/generated/fonts/src/VectorFontRendererBuffers.cpp
Compiling TouchGFX/generated/fonts/src/Table_verdana_40_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/CachedFont.cpp
Compiling TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp
Compiling TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp
Compiling TouchGFX/generated/images/src/SVGDatabase.cpp
Compiling TouchGFX/generated/images/src/BitmapDatabase.cpp
Compiling TouchGFX/generated/images/src/image_Background_treadmill_2.cpp
Compiling TouchGFX/generated/texts/src/LanguageGb.cpp
Compiling TouchGFX/generated/texts/src/TypedTextDatabase.cpp
Compiling TouchGFX/generated/texts/src/Texts.cpp
Compiling TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
Compiling TouchGFX/target/generated/STM32DMA.cpp
Compiling TouchGFX/target/generated/OSWrappers.cpp
Compiling TouchGFX/target/generated/TouchGFXConfiguration.cpp
Compiling TouchGFX/target/generated/SoftwareMJPEGDecoder.cpp
Compiling TouchGFX/target/generated/HardwareMJPEGDecoder.cpp
Compiling TouchGFX/target/TouchGFXHAL.cpp
Compiling TouchGFX/target/TouchGFXGPIO.cpp
Compiling TouchGFX/target/STM32TouchController.cpp
Compiling TouchGFX/target/CortexMMCUInstrumentation.cpp
Compiling gcc/sysmem.c
Compiling gcc/syscalls.c
Compiling Core/Src/stm32h7xx_it.c
Compiling Core/Src/system_stm32h7xx.c
Compiling Core/Src/main.c
Compiling Core/Src/stm32h7xx_hal_timebase_tim.c
Compiling Core/Src/stm32h7xx_hal_msp.c
Compiling Core/Src/freertos.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dsi.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c
Compiling Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c
Compiling TouchGFX/App/app_touchgfx.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/croutine.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/list.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/queue.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/tasks.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/timers.c
Compiling Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c
Compiling gcc/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
Compiling gcc/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c
Compiling Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_bus.c
Compiling Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_qspi.c
Compiling Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_sdram.c
Compiling Drivers/BSP/STM32H750B-DK/stm32h750b_discovery_ts.c
Compiling Drivers/BSP/Components/ft5336/ft5336.c
Compiling Drivers/BSP/Components/ft5336/ft5336_reg.c
Compiling Drivers/BSP/Components/mt25tl01g/mt25tl01g.c
Compiling Drivers/BSP/Components/mt48lc4m32b2/mt48lc4m32b2.c
Compiling Middlewares/Third_Party/LibJPEG/source/jaricom.c
Compiling Middlewares/Third_Party/LibJPEG/source/jcomapi.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdapimin.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdapistd.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdarith.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdatasrc.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdcoefct.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdcolor.c
Compiling Middlewares/Third_Party/LibJPEG/source/jddctmgr.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdhuff.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdinput.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdmainct.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdmarker.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdmaster.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdmerge.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdpostct.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdsample.c
Compiling Middlewares/Third_Party/LibJPEG/source/jdtrans.c
Compiling Middlewares/Third_Party/LibJPEG/source/jerror.c
Compiling Middlewares/Third_Party/LibJPEG/source/jidctflt.c
Compiling Middlewares/Third_Party/LibJPEG/source/jidctfst.c
Compiling Middlewares/Third_Party/LibJPEG/source/jidctint.c
Compiling Middlewares/Third_Party/LibJPEG/source/jmemmgr.c
Compiling Middlewares/Third_Party/LibJPEG/source/jmemnobs.c
Compiling Middlewares/Third_Party/LibJPEG/source/jquant1.c
Compiling Middlewares/Third_Party/LibJPEG/source/jquant2.c
Compiling Middlewares/Third_Party/LibJPEG/source/jutils.c
Compiling LIBJPEG/App/libjpeg.c
Compiling Utilities/JPEG/jpeg_utils.c
Compiling ASM gcc/startup_stm32h750xbhx.s
Video Objects:
Linking TouchGFX/build/bin/target.elf
Memory region Used Size Region Size %age Used
DTCMRAM: 8 KB 128 KB 6.25%
ITCMRAM: 0 B 64 KB 0.00%
RAM_D1: 139756 B 512 KB 26.66%
RAM_D2: 0 B 288 KB 0.00%
RAM_D3: 0 B 64 KB 0.00%
SDRAM: 765 KB 8 MB 9.34%
FLASH: 181596 B 2 MB 8.66%
ASSETS_FLASH: 3146164 B 126 MB 2.38%
BOOTLOADER: 0 B 128 KB 0.00%
Producing additional output formats...
target.hex - Combined internal+external hex
intflash.elf - Internal flash, elf debug
intflash.hex - Internal flash, hex
Done
Flash
make -f ../gcc/Makefile flash
Middlewares/ST/touchgfx
Reading TouchGFX/application.config
Reading TouchGFX/target.config
Video Objects:
Linking TouchGFX/build/bin/target.elf
Memory region Used Size Region Size %age Used
DTCMRAM: 8 KB 128 KB 6.25%
ITCMRAM: 0 B 64 KB 0.00%
RAM_D1: 139756 B 512 KB 26.66%
RAM_D2: 0 B 288 KB 0.00%
RAM_D3: 0 B 64 KB 0.00%
SDRAM: 765 KB 8 MB 9.34%
FLASH: 181596 B 2 MB 8.66%
ASSETS_FLASH: 3146164 B 126 MB 2.38%
BOOTLOADER: 0 B 128 KB 0.00%
Producing additional output formats...
target.hex - Combined internal+external hex
intflash.elf - Internal flash, elf debug
intflash.hex - Internal flash, hex
-------------------------------------------------------------------
STM32CubeProgrammer v2.21.0
-------------------------------------------------------------------

ST-LINK SN : 004A00333137510F33333639
ST-LINK FW : V3J16M9
Board : STM32H750B-DK
Voltage : 3.27V
SWD freq : 8000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x450
Revision ID : Rev V
Device name : STM32H7xx
Flash size : 128 KBytes
Device type : MCU
Device CPU : Cortex-M7
BL Version : 0x90



Opening and parsing file: target.hex


Memory Programming ...
File : target.hex
Size : 3.17 MB
Address : 0x90000000


Erasing memory corresponding to segment 0:
Erasing external memory sectors [0 1]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [16 40]
Download in Progress:
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0%
ÛÛÛÛÛÛ 13%ÛÛÛ 19%ÛÛÛÛÛÛÛ 32%ÛÛÛÛÛÛÛ 46%ÛÛÛÛÛÛ 59%ÛÛÛÛÛÛÛ 73%ÛÛÛÛÛÛÛ 86%ÛÛÛÛÛÛÛ 100%

File download complete
Time elapsed during download operation: 00:00:11.016

Hard reset is performed
Done
Done

But the screen of the board is still showing white. could you help me why this is happening. 

 

Regards,

Siva

 

JohanAstrup
ST Employee

Thank you for providing the log. It appears to be correct.

Is this a recently ordered board? Could I get you to verify the board version, which is located below the display. For reference, the board I have here is called DK32H750$AT1.

Best regards,
Johan

Hi John,

It is the same board which i'm using DK32H750$AT1.

JohanAstrup
ST Employee

Hmm, okay that sounds weird then.

Could I get you to try and insert a box instead of an image?
If this does also not work, try changing the default layer color in the LTDC tab in STM32CubeMX, generate code, and flash the board again. This should help to verify throughput to the display. Also set the Window Horizontal Stop to e.g. 240. Otherwise TouchGFX's background box will overwrite the default layer color.

JohanAstrup_0-1770902795801.png

Best regards,
Johan

SivaVishnu09
Associate III

Hi John,

I'm attaching the application which I'm working on in a zip file. Can you let me know whether it is working at your end in the same board. This is what I have done. Also I tried to change the window horizontal stop to 240, still the screen is showing white. but when i flash the stm demo hex file given by STM as below

- 'STM32Cube_Demo-STM32H750B-DK-V1.0.0_FULL.hex' :
- an out of the box Demo integrating the StemWin
- TouchGFX demonstration module .

The program is working fine.

1. Create the demo project using touchgfx mentioning the board. 

2. then opened the .ioc file using cube MX software, and generated the code and reloaded the Touchgfx application 

3. From TouchGFX i generated the code, ran the simulator and then click program the target.

Note: I didn't find any option to goto cube Mx from the Touchgfx designer. I have tried flashing through ST IDE and TouchGFX but the screen is still showing white.

I have attached the file to know the real cause.

 

Regards,

Siva

 

JohanAstrup
ST Employee

I am able to reproduce the issue now. It looks like the bootloader is not flashed when using Run Target. If so, that is an error. I will investigate further and get back to you.

In the meantime, you can fix it by manually flashing the bootloader with STM32CubeProgrammer, as shown below.

JohanAstrup_0-1770989576787.png

Best regards,
Johan

 

SivaVishnu09
Associate III

Hi John, 

Thanks for letting me know about the bootloader programming! the program is working fine now. Thanks a lot!!!

 

Regards,

Sivapriya 

JohanAstrup
ST Employee

Great to hear! In the meantime, I found the root cause.

The issue is due to an error introduced in the linker script in the latest version of the TBS. To fix the issue, add the KEEP keyword before the placement of bootloader.o.

.bootloader :
{
  . = ALIGN(4);
  KEEP (ExtMem_Boot/bootloader.o(*))
} >BOOTLOADER

It will be fixed in the next released version of the TBS.

Thank you for reporting the issue!

Best regards,
Johan