Debugging of ethernet ping test on NUCLEO-STM32F767ZI
In continuation of debugging the Ethernet ping test (from this thread)
Main issue:
- When debugging the project, everything works well and i am able to ping the MCU
- When flashing the project, the ping test fails
Here are the details of my stm32 cube environment.
Operating system: Ubuntu
STM32cubeIDE version details:
Firmware version : 1.17.3
I have attached the project for your reference.
Main configuration changes for the project for a successful ping:
- In the ethernet module: RX and TX descriptors addresses are 0x2007c000 and 0x2007c0a0 respectively.
- In LwIP , Under General Settings, DHCP is disabled and static IP(192.168.1.125) and mask(255.255.255.0) are provided
- In LwIP , Under Key options, MEM_SIZE is 16000 Bytes and LWIP_RAM_HEAP_POINTER is 0x2007c140
- In FreeRTOS module, the default task stack size increased to 3000 words.
- In the linker .ld file add .lwip_sec
.lwip_sec (NOLOAD) :
{
. = ABSOLUTE(0x2007c000);
*(.RxDecripSection)
. = ABSOLUTE(0x2007c0a0);
*(.TxDecripSection)
. = ABSOLUTE(0x2007c140); /* Not used */
*(.lwIPHeap)
} >RAMWith the above configurations, once the code is generated, go to /LWIP/Target/ethernetif.c:
- Increase INTERFACE_THREAD_STACK_SIZE to 1024
Rebuild and debug the project. Open a terminal and 'ping 192.168.1.125'
