cancel
Showing results for 
Search instead for 
Did you mean: 

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

Jack3
Senior II

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.

1 REPLY 1
STea
ST Employee

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  

In order 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.