cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 with AZRTOS NetX doesn't work

Kubagrs
Associate II

Hi,

I am trying to set up a basic project on a Nucleo H743ZI2 using AZRTOS ans NetX, but I can't get it to work. I am relying on this guide: 

https://community.st.com/t5/stm32-mcus/creating-a-dual-ipv6-amp-ipv4-netxduo-udp-application-for/ta-p/570521

The only change I made was turning off IPv6 and deleting the code that manages it. However, I can't even ping the board. I also tried with the program linked in the guide, but it didn't work either. I don't think it is a problem with a board, because I tried the same thing with FreeRTOS + LWiP and it worked just fine. I am new to AzureRTOS and NetX, so I don't really know what to look for.

I'd appreciate any help.

3 REPLIES 3
Saket_Om
ST Employee

Hello @Kubagrs 

Please refer to this example which is generated using the same steps described in the article. 

Saket_Om_0-1734705705241.png

 

If your question is answered, please close this topic by clicking "Accept as Solution".

Thanks
Omar

Hi Omar,

I'm having the same issue... I downloaded your demo from https://github.com/stm32-hotspot/NUCLEO_H743_NetXDuo_UDP_IPv4_IPv6, and the demo doesn't seem to work.  I tried it on 2 nucleo boards, with no success.  One thing I noticed in the project is the ethernet memory map.  When I click on the Connectivity->ETH, It generates a warning:

mattcrc_0-1739071644327.png

 

Are you sure the memory is setup properly in the demo?  Also, its not clear how a user can see the memory map after compiling in the STM32CubeIDE.  Where is the map that shows where the Rx_Descriptors/Tx_Descriptors are allocated.

Finally, under the AzureRTOS Application tab, the demo originally had a NetXDuo memory pool size of 12288.   This value make the netxduo_init routing fail... when i increase it to 30*1024, at least it gets past the initialization routine.  Where can I find documentation as to what the proper sizes should be and where are these pool allocated.

Has anyone from STM actually tested the code?

thanks

Matthew

Hello,

Ok, I finally figured it out and got it to work.  The settings in the ETH configurations were wrong and I updated them as follows:

Under ETH configuration, the memory locations have to be updated to:

 

Note:  When using NETX, the "Rx Buffers Address" parameter is not used anywhere in the project, and can be ignored.  This was replaced with NetX  (.NetXPoolSection)

Finally, in the dot.FlashID file, these lines need to be added:

mattcrc_1-1739202733354.png

Everything started to work after making these changes