5 years, 11 months ago.

Ethernet support for STM32H7

Hello, I'm using the recent mbed port for the NUCLEO_H743ZI, but I've noticed the Ethernet support isn't there yet. I'd like to know if you're already working on it or planning to so. I'm evaluating to use mbed for a commercial product powered by an STM32H750 and I'm willing to contribute if needed, but it would be nice to know if there's already someone working on it.

Thanks in advance.

2 Answers

5 years, 11 months ago.

Hi

Nobody in the ST team is working on Ethernet porting on this board for the moment. Any help is welcome !

Thanks

Accepted Answer

Hi

I started working on the porting, code is at https://github.com/CurryGuy/mbed-os/tree/test-stm32h7-emac

We're using it with MQTT, and it seems to be working. I only have a few doubts. I am not sure about the linker script and the allocation of network packets. I first attempted to use the alloc_pool function as its done in the other drivers, but it always fails and I don't know why. To fix the problem I used the alloc_heap function. Also, the code is working on the latest stable release (5.11.3), but not on master ( it gets stuck on packets reception). Could someone give a look at it?

Thanks

posted by Francesco C 06 Feb 2019

Hi, I have work on this topic, based on @Francesco branch. Here is my current work : https://github.com/VVESTM/mbed-os/tree/vve_eth_h7. This is on top of current master branch.

With this branch, I am able to execute tcp test suite with success : mbed test -t IAR -m NUCLEO_H743ZI -v -n tests*netsocket*tcp*

Other ones are not yet working (udp, dns, tls). Any help is welcomed.

posted by Vincent Veron 02 Jul 2019

@Vincent : I have tested your version, but with gcc it runs into a hardfault. The problem is the linker section for the lwip_sec: you have increased the number of TxDescriptors but not adjusted this in the linker section. By adding 0x200 offset it works also with gcc.

posted by Johannes Stratmann 24 Jul 2019

We also ran into hardfaults with gcc when running the mbed-os-tcp-server-example (https://os.mbed.com/teams/ST/code/mbed-os-tcp-server-example/). After changing the *(.RxArraySection) part from 0x30040200 to 0x30040400 in the linker script (STM32H743xI.ld) like described by Johannes it worked however. (Thanks Johannes :) )

We also tried out sending MQTT messages and ran some tests with UDP. So far we didn't notice any issues.

I was not able to execute the tests included in mbed so I don't know if they would be successful or not. I will try to get them to run if I have some time.

posted by Timo K 07 Aug 2019
5 years, 11 months ago.

Awesome one thanks for sharing

https://questionsgems.com/gk-questions/