cancel
Showing results for 
Search instead for 
Did you mean: 

Does anyone have a recent TCP/IP project for a NUCLEO-H755ZI-Q generated by Cube MX 2.0?

JohannesWilde
Associate III

Good evening,

I have been trying to get the ethernet port of my NUCLEO-H755ZI-Q to talk to my PC - and have been failing to do so now for a week.

I found this manual, but it is for Cube IDE 1.9 - and even after following the described steps I fail to talk via ethernet.

I did also find this github repo where I used STM32H7-LwIP-Examples/STM32H745_Nucleo_M7_ETH - and after adapting the IPs somewhat communication via UDP did work.

So I am rather sure my hardware does work.

But the code generated by CubeMX 2.0 does not.

Can anyone provide me with either

  • a short manual how to configure CubeMX correctly,
  • a ready-made example project using the current CubeMX 2.0,
  • or any other input?

The current problem with my CubeMX 2.0 generated project is that during reception I get an 

ETH_DMACSR_RBU /* Receive Buffer Unavailable */

inside the

HAL_ETH_ErrorCallback

 En- or disabling ICache, DCache and MPU did not have any effect. I did move the RX_POOL to 0x30040000 as per the article and adapted the linker script. All to no avail.

 Any help will be appreciated.

Thanks in advance

Johannes

9 REPLIES 9
MStackDev_376
Associate III

Hi Johannes,

You can take a look at this example, which uses the Mongoose Networking Library. It's a lightweight networking library, ideal for embedded devices and it has support for a wide variety of networking protocols, including UDP.

The project implements a simple web server that features an UI dashboard. It should serve as a good starting point for any networking functionality you might want to add, including UDP.

A key difference in this project is that it uses Mongoose's own built-in TCP/IP stack and Ethernet drivers along with the Mongoose API (documented here), and does not rely on the standard ST HAL networking and Ethernet drivers and API.

Heads up: I am part of the Mongoose development team, hope this helps you.

Thanks for the pointer - but currently I am not able to acquire a commercial license. Thus Mongoose is not a viable solution for me.

Thanks for the reply!

My main goal was offering a fully working solution, including the hardware configuration, that you can use to compare against your project. The STM32H7 Ethernet peripheral is a bit tricky to get right, especially with D-Cache causing conflicts with Ethernet TX/RX or the ETH buffer pools not being placed in a DMA-accessible memory region, similar to what you mentioned you tried to change. We experienced these issues as well.

Often, the issue could be in the clock tree or pin manager. The .ioc file in the example project is a good reference you can use to compare your own .ioc file, in case there is a misconfiguration in the hardware setup. Other than that, the `Receive Buffer Unavailable` issue could indicate the RX buffers are not being read by the low-level driver, so an issue might be there, such as the interrupt not being triggered on RX. So, please also check the status of interrupt, if it's activated or not.

Best of luck with the project.

STackPointer64
ST Employee

Hello @JohannesWilde,

Please find attached a newly created project that you can modify to suit your needs.

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.
 
thanks - but the website keeps telling me that "(Virus scan in progress ...)". Could you give me an estimate as to when I can download the zip? Or could you upload the project to github and send me a link?
Beste regards
Johannes
STackPointer64
ST Employee

Hello @JohannesWilde,

It seems there is an issue with the community website. I have sent the demo to the email associated with your account via ST’s secure file transfer service.

Best regards,

 

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.
mcayir
Associate II

Hello, ca you please re-attach the example project. I have similiar issues

Hi mcayir,

I adapted the project to use a static IP [192.168.1.6], tested a ping successfully and uploaded the project  here.

@STackPointer64 could you tell me whether special licensing applies to this example? Otherwise I would chose MIT.

Best regards

Johannes

Hello,

Thank you for asking. Here it is:

Component Copyright License
CMSIS ARM Limited Apache License 2.0
CMSIS Device ARM Limited - STMicroelectronics Apache License 2.0
STM32H7 HAL STMicroelectronics BSD-3-Clause
LwIP Swedish Institute of Computer Science BSD-3-Clause
FreeRTOS kernel Amazon.com, Inc. or its affiliates MIT
BSP Components STMicroelectronics BSD-3-Clause
STM32 Projects STMicroelectronics SLA0044 (BSD-3-Clause for basic Examples)

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.