if use FW_V1.10.0 ethernet with UDP ping issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2024-07-05 11:43 PM
im using stm32h743zi2 nucleo board . im triyng to do programming in ethernet with udp without freeRTOS . using firmware version of 1.10.0 but it is not pinging . anybody did programming with this FW . please let me know the reasons for not ping.
or share me the working code for ping. thanks
- Labels:
-
STM32H7 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2024-07-11 6:12 AM
"Ping" is based on ARP and ICMP protocols, and it is a broadcast packet. I don't know exactly this firmware and board, but the basic steps for setting the Ethernet are the same for the NUCLEO-boards, and it should work.
- Open the .ioc file of the project.
- Set: Connectivity -> ETH -> Mode -> RMII. Leave the other parameters in default values.
- Set: Middleware -> LWIP -> Enable -> True.
- Middleware -> LWIP -> General Settings -> LWIP_DHCP -> Disabled
- Middleware -> LWIP -> General Settings -> IP Address Settings -> [set an IP address, which is in the same sub-network with your PC]
- Leave the other parameters in default values.
- Click "Device configuration tool code generation" button.
- Open this new, generated file: [your project name] -> LWIP -> App ->lwip.c
- There is a function called: MX_LWIP_Process() (or something similar...). ethernetif_input(&gnetif) is called from this function.
- Call MX_LWIP_Process() function from main.c -> while(1) cycle.
- Download the program to the NUCLEO board.
- Check the IP and subnet of your PC, the connection with the router etc...
- Try to "ping" the board.
I know it is a long description with some obvious steps, but it is intended to be a common guide.
The more customization you set the more likely to catch a difficulty/bug, but with the default settings it should work.
