2025-02-17 06:11 AM
Hello. I am very very new to the world of STM32 microcontrollers and products. I've recently purchased the Nucleo-H563ZI board with RVA35HI Rev 1.1 display. I am starting slow, so to begin I tried utilizing the demo project in TouchGFX called "TouchGFX Demo 1 Alternate". After some troubleshooting, I've successfully flashed the demo project to my development board. The screen lights up white upon upload and I don't see the start up screen. Messing with it I discovered the project is uploaded, and still responding to touch because there is one screen that shows graphs, which for some reasons shows up. I've left the board in its default configuration as far as jumpers are concerned. I believe I have all required software downloaded. I've followed the instructions of some guides online and don't understand what I'm doing wrong.
Thank you.
See attached: Pictures of board lighting up, showing graph, and the simulator screen with the graphs.
2025-02-17 06:56 AM
Hello @brandonfox ,
I have test the STM32H563-dk with a RVA35HI Rev 1.0 on TouchGFX 4.24.2 with the same demo as you and it works fine for me.
I do not think much have changed between the 2 display revision.
Which version of TouchGFX did you use?
Here are the important jumpers:
Select STLK and 3.3V
Regards,
2025-02-17 06:59 AM
Hey Gaetan,
My version of TouchGFX is 4.24.2. My STM32Programmer version is 2.18.0.
My jumpers are in the same configuration as you have shown in your picture.
Thank you.
2025-02-17 08:08 AM
Hello @brandonfox ,
Just to make sure, you're using our TBS in TouchGFX Designer right (in "Example" tab in TouchGFX Designer)? You haven't changed anything from it (like in the "Config" tab in TouchGFX, or the linker script)?
Could you verify that your images are well flashed to the external memory? To do that you can check your map file to see the address of the assets and then use STM32CubeProgrammer to verify that there's no empty data at that memory range. The external loader (needed by STM32CubeProgrammer) is provided in the gcc folder in our TBS (W25Q64_NUCLEO-H563ZI-RVA35HI-REV-1-1.stldr --> You need to copy that into your C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader)
.map file :
....
...
ExtFlashSection
0x90000000 0x4969d8
*(ExtFlashSection ExtFlashSection.*)
ExtFlashSection
0x90000000 0x2b98 TouchGFX/build/STM32H563ZI-NUCLEO-RVA35HI/TouchGFX/generated/images/src/EasingEquation/image_easing_side_menu_button_selected.o
0x90000000 image_easing_side_menu_button_selected
ExtFlashSection
0x90002b98 0x1c20 TouchGFX/build/STM32H563ZI-NUCLEO-RVA35HI/TouchGFX/generated/images/src/EasingEquation/image_easing_menu_button_pressed.o
0x90002b98 image_easing_menu_button_pressed
ExtFlashSection
0x900047b8 0x279c TouchGFX/build/STM32H563ZI-NUCLEO-RVA35HI/TouchGFX/generated/images/src/EasingEquation/image_easing_bottom_menu_active.o
0x900047b8 image_easing_bottom_menu_active
...
....
In this example you see 3 images flashed in external memory at address 0x90000000, 0x90002b98, 0x900047b8
When verifying with STM32CubeProgrammer at address 0x90000000 , I can see the data.
2025-02-17 08:35 AM
Might I suggest attaching a known working object file (.HEX or .ELF) as a diagnostic sanity check.
2025-02-17 10:52 AM
Hey Osman,
When I created the project file, I selected the Test Board Setup for the Nucleo-H563ZI + RVA35HI. However in the config settings, it shows a line "TouchGFX Board Setup" as "N/A".
I have copied the External Loader file into STD32CubeProgrammer and my outcome has not changed.
I've found my map file and it looks like this:
So it seems as though these things are intended to load into memory at location 0x9(......)
When I attempt to check memory at location 0x9(.......) I get an error in STM32CubeProgrammer
However I do get memory loaded in at the addresses beginning with 0x08
I have a feeling I am misunderstanding something here...
Thanks.
2025-02-17 11:20 AM
Oops. I made a mistake. I can read the memory at 0x9
It looks like there is nothing in the memory here.
2025-02-18 01:56 AM
Hello @brandonfox ,
@brandonfox wrote:
Hey Osman,
When I created the project file, I selected the Test Board Setup for the Nucleo-H563ZI + RVA35HI. However in the config settings, it shows a line "TouchGFX Board Setup" as "N/A".
This is not an issue.
@brandonfox wrote:
I have copied the External Loader file into STD32CubeProgrammer and my outcome has not changed.
This manipulation was just to be able to read ext memory with STM32CubeProgrammer, not to solve the issue.
TouchGFX Designer is supposed to use the loader from the gcc folder if there's any.
@brandonfox wrote:
I've found my map file and it looks like this
The map file looks correct.
@brandonfox wrote:
Oops. I made a mistake. I can read the memory at 0x9
It looks like there is nothing in the memory here.
Correct, the ext memory is empty, so I'm suspecting issue when flashing.
Could you check in this folder : Your_Application_Folder\TouchGFX\build\bin? There should be a file called target.hex. Could you try to manually flash that file using STM32CubeProgrammer?
2025-02-18 04:31 AM - edited 2025-02-18 04:34 AM
Hey Osman,
I have programmed my development board with the target.hex file and it seems the problem is still occurring. When it attempts to verify the programming it encounters an error when it checks address 0x90000000 for being empty.
What would cause the external memory to not program but the internal memory to be programmed?
2025-02-18 05:56 AM
Hello again @brandonfox,
Could you try to flash this file? (it's the same application as yours in theory, running the "TouchGFX Demo 1 Alternate" on Nucleo-H563ZI + RVA35HI Rev 1.1 TBS).