2020-02-20 07:43 AM
Hi,
I have a custom board based on STM32H750VB that has Ethernet connection. I want to develop a bootloader code that can program Flash for system upgrade purposes. I read in the datasheet that there is a bootloader in System Memory and is programmed by ST in the factory. It has access to some serial ports like USB, SPI, I2C and USART but not Ethernet. Below are my questions:
I would really appreciate a prompt response.
Thanks,
Hossein
2020-02-20 01:14 PM
You can start from one of Ethernet & LwIP examples for other STM32H7 models, especially look at a TFTP example.
H750 officially has only one flash page and only one bank. But not oficially, it is known to have at least one more page where you can
place the downloaded program.
Of course it is your responsibility to test that extra flash pages exist, and if not - no complaints...
-- pa
2020-02-21 03:20 AM
Thank you for your answer. I don\t know whether you know it or not. St have problems with those Ethernet drivers and LWIP is not going to work easily as expected. Once a guy could manage it and I did what he had documented in the link:
https://community.st.com/s/question/0D50X0000C6eNNSSQ2/bug-fixes-stm32h7-ethernet
However, this could not solve my problems. Anyway, I am currently working with LAN with some other modifications that I have done. It is now working in interrupt mode. And, i am not sure whether I can get it running with LWIP as well. Below are some questions:
Comments from other experts are also appreciated.
Thanks in advance,
Hossein
2020-02-21 04:29 PM
1 Purpose of ST’s bootloader is (generally) to flash new firmware to the device. It resides in ROM so you can’t brick the chip by flashing bogus firmware.
2 You cannot change the ST bootloader as it resides in ROM. You can however program your own user bootloader which runs on startup and can be changed. The ROM bootloader only runs when the boot0 pin is high on startup. Otherwise, it bootloader is skipped and your user code executes instead.
I don’t believe the ROM bootloader has ethernet capability. This is something you would need to write and flash as your own custom user bootloader.
2020-02-21 05:05 PM
> I don\t know whether you know it or not. St have problems with those Ethernet drivers and LWIP is not going to work easily as expected.
Yep. Thank you, I know =) But we've been able to tweak it and get it working "well enough" for simple use cases. LwIP with UDP with no RTOS (polling), and LwIP with netconn TCP sockets and freeRTOS.
> Do we need to develop firmware for Bootloader region as well?
Yes. The built-in ST bootloader does not support ethernet.
> Are you sure that I can use two pages and switch between them?
Pages - yes. Banks - no. Download the program into another page of bank 1 and jump to it.
-- pa