Compiler warning in NetworkInterface.c


I’m using FreeRTOSv202012.00 on a STM32F767ZI
I’m getting this warning in NetworkInterface.c

Warning[Pa183]: #warning directive: Using RMII, make sure if this is correct C:\dev\bootloader\Bootloader\FreeRTOSv202012.00\FreeRTOS-IP\portable\NetworkInterface\STM32Fxx\NetworkInterface.c 145

The file shows on line 144:

#if ( ipconfigUSE_RMII != 0 )
#warning Using RMII, make sure if this is correct
#warning Using MII, make sure if this is correct

Just before on line 136:
#ifndef ipconfigUSE_RMII
#ifdef STM32F7xx
#define ipconfigUSE_RMII 1
#define ipconfigUSE_RMII 0
#endif /* STM32F7xx /
#endif /
ipconfigUSE_RMII */

Since I’m using a STM32F767ZI this should be ok… Is it? :slight_smile:

There is no way for the compiler to know whether the hardware wires MII or RMII…

Edit: I should have been clearer, sorry. MII or RMII are two different ways to wire the STM to the Ethernet PHY. The STM supports both, but which one is actually used is a decision made at hardware design time. Look at the warning as a friendly reminder to understand that the code must match the connection decision. Thus, consult your circuit diagram and the MCU manual, then you’ll know whether your wiring is MII or RMII which in turn determines which compile flag to set.

@RAc is right, the #warning just wants to make you aware that a choice has to be made.

The defaults a good for the two discovery boards provided by ST, but they might be wrong for other PCB’s.
If the #warning breaks you compilation, please just remove it :slight_smile: