cancel
Showing results for 
Search instead for 
Did you mean: 

Not able to Run TouchGFX demo provided by ST on STM32H7B3I-EVAL

tejas210
Associate II

Hi ST Support Team, 

 

#1 Demo provided by ST for STM32H7B3I-EVAL board is working on Windows Simulator.

   But it is not working for Target (STM32H7B3I-EVAL board.)  

#2 Does code generated by TouchGFX designer will run on Target board without any code changes on target (STM32H7B3I-EVAL).

Please help me to resolve this issue.  

Regards,

Tejas

25 REPLIES 25
JohanAstrup
ST Employee

To update the BSP, follow this procedure:

  1. Go to C:\Users\YOUR_USERNAME\STM32Cube\Repository\STM32Cube_FW_H7_V1.13.0\Drivers\BSP and copy the STM32H7B3I-EVAL folder.
  2. Paste the folder into Drivers/BSP in your project.
  3. Go to C:\Users\YOUR_USERNAME\STM32Cube\Repository\STM32Cube_FW_H7_V1.13.0\Drivers\BSP\Components and copy the gt911 folder.
  4. Paste the folder into Drivers/BSP/Components in your project.
  5. Add the following files to the .extSettings file next to the ft5336 files: /Drivers/BSP/Components/gt911/gt911.c;../Drivers/BSP/Components/gt911/gt911_reg.c;
  6. Generate code with STM32CubeMX.
  7. If you want the Run Target feature to work in TouchGFX Designer, you also need to update the makefile in the gcc folder. Add the following files to the board_c_files next to the ft5336 files: 
    $(Drivers_path)/BSP/Components/gt911/gt911.c \
    $(Drivers_path)/BSP/Components/gt911/gt911_reg.c \

Note that you can skip step 1-4 by copying the BSP folder from the project I have shared.

I will upload the updated version to TouchGFX Designer. Thank you for verifying it!

Best regards,
Johan

Hi Johan,

I will update BSP as you suggested mean while i want to understand Memory usage when we compile code and flash generated hex file to board. 

On‑Chip (SoC: STM32H7B3LIH6Q)

  • Flash: 2 MB internal Flash

  • RAM (SRAM): 1.4 MB internal SRAM (split across multiple banks: DTCM, AXI SRAM, SRAM1/2/3)

:package: On‑Board External Memories

  • Octo‑SPI NOR Flash: 512 Mbit (64 MB)

  • SDRAM: 8 Mbit × 32‑bit = 32 MB

  • SRAM: 1 Mbit × 16‑bit = 2 MB

  • NOR Flash: 8 Mbit × 16‑bit = 16 MB

  • microSD card slots: 2 × (expandable storage)

Memory used as per blow log while compiling and flashing code from Touch GFX. 

:desktop_computer:️ On‑Chip (STM32H7B3LI MCU)

  • Internal Flash (2 MB available): Used → 224,396 B (~219 KB)10.7 %

  • Internal SRAM (1 MB available): Used → 88,404 B (~86 KB)8.43 %

  • DTCM RAM (128 KB available): Used → 8 KB6.25 %

  • ITCM RAM (64 KB available): Used → 0 B0 %

 

:package: On‑Board External Memories

  • Octo‑SPI NOR Flash (64 MB available): Used → 8,640,000 B (~8.23 MB)12.87 %

  • SDRAM (32 MB available): Used → 1,500 KB (~1.46 MB)4.58 %

:cross_mark: External SRAM & Parallel NOR Flash

  • External SRAM (2 MB)0% used

  • Parallel NOR Flash (16 MB)0% used

Question:  How is the memory usage mapped when we compile and flash the code.?

                 How do we know that which memory to use SRAM or SDRAM?  

                 How do we know that which memory to use OSPI NOR flash or  Parallel NOR Flash?

                 If We are designing customized board based on STM32H7 family of chip. how to select exact SOC part number which is suitable to our application requirement.? which memory to use SRAM or SDARM or both.?  Which memory to use OSPI NOR flash or Parallel NOR flash or both?  Should we need to consider Emmc memory or SD card or not ?    

          Please help us how to select Exact SOC part number and memory type. 

           Is there any specific and minimum requirement for 7 inch display with touch GFX designer? how to calculate minimum memory usage? 

============ log =========

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: 88404 B 1 MB 8.43%
FLASH: 224396 B 2 MB 10.70%
OSPI: 8640000 B 64 MB 12.87%
SDRAM: 1500 KB 32 MB 4.58%
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
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: 88404 B 1 MB 8.43%
FLASH: 224396 B 2 MB 10.70%
OSPI: 8640000 B 64 MB 12.87%
SDRAM: 1500 KB 32 MB 4.58%
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 : 003B00423133510337363734
ST-LINK FW : V3J16M9
Board : STM32H7B3I-EVAL
Voltage : 3.28V
SWD freq : 8000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x480
Revision ID : Rev X
Device name : STM32H7A/B
Flash size : 2 MBytes
Device type : MCU
Device CPU : Cortex-M7
BL Version : 0x92



Opening and parsing file: target.hex


Memory Programming ...
File : target.hex
Size : 8.45 MB
Address : 0x08000000


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 27]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 131]
Download in Progress:
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0%
ÛÛÛÛÛ 11%ÛÛ 14%ÛÛÛÛÛ 25%ÛÛÛÛÛÛ 37%ÛÛÛÛÛÛ 49%ÛÛÛÛÛÛ 60%ÛÛÛÛÛÛ 72%ÛÛÛÛÛÛ 84%ÛÛÛÛÛ 95%ÛÛÛ 100%

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

Hard reset is performed
Done
Done

Regards,

Tejas Patel

 

JohanAstrup
ST Employee

New versions of both the STM32H7B3I-EVAL TBS and BSD, which support newer board revisions, have now been uploaded to TouchGFX Designer.

The new TBS version is 3.0.21, and the new BSD version is 3.0.18.

Best regards,
Johan

Since the memory questions are unrelated to the topic of this thread, I would recommend creating a new ticket for clarity and visibility.

However, to answer briefly, I would first recommend reviewing the description of the TBS available in TouchGFX Designer. From there, you can see which memories are initialized and used in the TBS. As shown, the SDRAM is e.g. used for the framebuffers:
JohanAstrup_0-1778834032287.png

As a next step, you can review the map file to see what goes where.

I would also recommend reviewing at least this article in the TouchGFX Documentation: https://support.touchgfx.com/docs/basic-concepts/framebuffer

Best regards,
Johan

Hi Johan, 

Thanks for immediate response. 

The new TBS version is 3.0.21, and the new BSD version is 3.0.18. 

For this version should i need to update bsp as you mentioned steps in previous replay or?  

Regarding memory usage will create new ticket for the same. 

Regards,

Tejas Patel

No need to update the BSP, as this is already done in the new versions. It should work directly without requiring any additional modifications.

Best regards,
Johan