STM32F207ZG: Does the LWIP/Ethernet device require a DMA?
I'm attempting to get UDP working on the STM32F207ZG with the RMII Ethernet interface and Lwip as TCP/IP stack and without a RTOS. I've followed an old guide I found for the STM32F4 modifying the CubeMX generated driver files as needed and am just trying to confirm I generated the right files.
As it stands I configured the RMII interface in CubeMX without a DMA attached (which I thought was fine), but when I send data to the device (I'm not sure how to make sure that it is indeed connected to the correct IP. The netif says it is up, but I'm unsure how useful that is) the HAL_ETH_GetReceived_Frame (which is what I followed the execution of ethernetif_input to) seems to check if the current segment is not owned by a DMA via this line:
if(((heth->RxDesc->Status & ETH_DMARXDESC_OWN) == (uint32_t)RESET))
Does this mean I must have a DMA connected to the RMII interface so I can read the frames? What is the above line doing? Are there anymore recent applications for the STM32F2 Nucleo board which I could use to work backword and figure out how this all works?
Any input/advice/hints/criticism is welcome.
Thanks,
Nic.
#ethernet/ip #raw-lwip #beginner #stm32f2 #ethernet