cancel
Showing results for 
Search instead for 
Did you mean: 

https://github.com/lvgl/lv_port_stm32h745i_disco => to stm32h750b disco

pk84
Senior

I am trying to get the https://github.com/lvgl/lv_port_stm32h745i_disco to run on the STM32H750 instead of the H745 disco.

I have selected the external loader and at startup the corresponding project loader. In the main.c file of the disco port project I have removed the QSPI inits.

I replaced the linker script file with the content from the linker script of LTDC_Paint example for the STM32H750.

It compiles and flashes everything without errors, but nothing works, also no LED starts.

What else do I have to adjust or should I consider?

17 REPLIES 17
RomainR.
ST Employee

Hello @pk84 

I hope my contribution can help you (a bit late)
https://github.com/rreicher/stm32h750bdk_lvgl_nos

BR
Romain

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hey @RomainR. 

 

I would be so happy, if you reply to this request of mine.

 

I'm currently working on a project where I'm trying to integrate a board into the SquareLine Studio framework. However, I've run into an issue. I couldn't flash the LVGL demo successfully, even though I followed all the instructions you provided in this repo https://github.com/rreicher/stm32h750bdk_lvgl_nos

After flashing, the only thing I see is a blank screen, and I'm not receiving any error messages during the flashing or debugging process. Could you please help me troubleshoot this? Is there anything else I might need to consider or additional steps I should take?

Thank you so much for your assistance!

Best regards,
Amaad

Hi @Amaad 

I don't use or support SquareLine Studio.
The project I shared is designed for the STM32H750B-DK board.
A bootloader is programmed in internal Flash and the graphical application is stored and executed in the dual QSPI.
For this you have a specific linker configuration, and when programming, an external flash loader for the QSPI flash is necessary.
What hardware are you using?
Can you debug your code?

Best regards,

Romain,

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hallo Romain,

 

Thanks very much for the reply, i appreciate it!!

I did exactly how it was mentioned in the README.md. (added external loader and positiones SP and PC as mentioned)

I am using STM32H750B-DK.

Yes, i can debug, but getting this error: No source available for "_binary____ExtMem_Boot_bootloader_bin_start() at 0x8000972" (even though i have excluded EXMem_Boot directory)

Thanks very much in advance

BR,

Amaad

Hi Romain,

Is there any update, i’m really stuck in here :crying_face:

 

VG,

Amaad

Hi @Amaad 

Can you check the following steps:

1°) Use latest STM32CubeProgrammer, connect to STM32H750B-DK using STLink.
Enable MT25TL01_STM32H750B-DISCO NOR Flash External Programmer:

RomainR_0-1724000040526.png

2°) Then Perform a full chip erase of external sector (0x9000 0000 External NOR Flash)

RomainR_1-1724000174090.png

3°) Do also an erase of internal Flash at 0x0800 0000.

RomainR_2-1724000311160.png

Last point, check Boot address Option Bytes: BOOT_CM7_ADD0, value=0x800, address = 0x0800 0000. 

RomainR_4-1724000852785.png

 

4°) Clone again my Github repository.
$ git clone https://github.com/rreicher/stm32h750bdk_lvgl_nos.git

Import the project in a fresh STM32CubeIDE workspace locally. Build it and check the result must be the same than below:

RomainR_5-1724001093408.png

 

Open the Debug configuration and follow the section "How to use it" of the Readme.md and apply the same configuration:
Add external loader MT25TL01G_STM32H750B-DISCO.stldr
- Set SP and PC counter as explained.

5°) Start the debugger, and wait for the end of download.
When the windows _binary____ExtMem_Boot_bootloader_bin_start appears, close it and open the main.c file.
Click on Reset the chip icon below:

RomainR_6-1724001290027.png

Now you should see debug cursor available  at the beginning of main function (line 70).

RomainR_7-1724001372045.png

Place a breakpoint at HAL_Init() (line 84)

RomainR_8-1724001433530.png

Finally click on Resume icon (F8) you should see the LVGL demo on the screen.
Close the debugger, and play with the graphic demo.

I checked again on my board and the project is working.
I hope it will help you?

Best regards,

Romain,

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello Romain,

 

YES IT HELPED!!! I really wanted to sincerely thank you for your incredible help with getting started with the STM32H750B discovery board. Your detailed explanations and step-by-step guidance made all the difference. I was finally able to flash the demo on the board successfully! 

 

I was also wondering whether i can use micropython bindings in LVGL, it is even possible? When yes, can i still access all the peripherals of this board and the most important question, whether STM32H750B-DK is currently supported by lv_micropython. I would really appreciate few words from you regardinhs the same.

 

Best Regards,

Amaad

Hello @Amaad 

Good news, in that case thanks you to mark my reply as resolved and answered.

Concerning your Micropython, sorry I don't have a port of this demo to micropython. And I don't know if there's a port for STM32H750B-DK board.
You should ask the relevant forums.
https://github.com/orgs/micropython/discussions

https://forum.lvgl.io/

Best regards,

Romain

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.