Skip to main content
Graduate II
May 28, 2024
Solved

Nucleo-H755ZI-Q ethernet without RTOS on M7 core - how to

  • May 28, 2024
  • 1 reply
  • 2316 views

Hello STM32 friends!

Board: Nucleo-H755ZI-Q
Core used for LWIP: M7
Goal: LWIP without RTOS

(UPDATE below: I solved my own question, find it on github, hope to help somebody with it)

I have followed many posts on the ethernet topic, but for a long time I was unable to get lwip working on the Nucleo-H755ZI.
I got it working on an F7 and H7 (without RTOS) a long time ago, back when TrueStudio was still in use.

Now that I'm using the latest STM32CubeMX 6.11.1, STM32CubeIDE 1.15.1 and the latest H7 firmware 1.11.2, I can't seem to get it to work.
I've been following a lot of good posts on this topic and taking a lot of notes.

Since I've been struggling for days, I posted a simple project on GitHub.
The project includes a flashing LED to indicate that the M7 core has started and is running (not hanging in an error handler).

If it only responds to ping requests, I'll be very happy.

I will then add a TCP and UDP server and client to it, and perhaps an HTTP server.

My little project is posted here:

https://github.com/AngryCarrot61/NUCLEO-H755ZI-Q_003_ETH

In the MD file, I posted things I adjusted.

I realize when things do not work as expected, it's time to learn something.
At the same time, I hope to help others with the same issue.

I hoped sombody could enlighten me.

I got it working: I almost can't believe the rooot cause, and verified it:

This

 

 

 

 .lwip_sec (NOLOAD) : {
 . = ABSOLUTE(0x30040000);
 *(.RxDecripSection) 
 
 . = ABSOLUTE(0x30040060);
 *(.TxDecripSection)
 
 . = ABSOLUTE(0x30040200);
 *(.RxArraySection) 
 } >RAM_D2

 

 

 

Should not go into

STM32H755ZITX_RAM.ld

but into

STM32H755ZITX_FLASH.ld

So that's why it took me almost forever to get it working!

Example without RTOS:
https://github.com/AngryCarrot61/NUCLEO-H755ZI-Q_003_ETH

Example with RTOS

https://github.com/AngryCarrot61/NUCLEO-H755ZI-Q_003_ETH_RTOS

As usual, it seems very easy!
If I only didn't start looking at STM32H755ZITX_RAM.ld only because of its existence, for the definition of the memoy regions.

Enjoy it!

Cheers, Jack.

    This topic has been closed for replies.
    Best answer by STea

    Hello @Jack3 ,

    thank you for sharing with us your journey. happy that you figured it out as well.
    the fact that this should be placed in the Flash.ld file is mentioned in this article How to create project for STM32H7 with Ethernet an... - STMicroelectronics Community which can help you to achieve your goal of developing TCP and UDP server and client.
    here is the section mentioning this 

    STea_0-1717426090139.png

     



    Regards  

    1 reply

    STeaAnswer
    ST Employee
    June 3, 2024

    Hello @Jack3 ,

    thank you for sharing with us your journey. happy that you figured it out as well.
    the fact that this should be placed in the Flash.ld file is mentioned in this article How to create project for STM32H7 with Ethernet an... - STMicroelectronics Community which can help you to achieve your goal of developing TCP and UDP server and client.
    here is the section mentioning this 

    STea_0-1717426090139.png

     



    Regards