Notice debug is showing a very high value exceeding WTO field [13:0] in EMACWDOGTO REG 22 0x0DC. Setting the maximum frame size entered in EMCAConfigSet() as an decimal integer 2048 byte frames.
Seems the OR of PWE bit shown below may be causing this.
CCS compiler should convert decimal to pass the value as hex into (ui32RxMaxFrameSize). Some how 2048 ends up being converted to 0x2000.0000 instead of 0x0000.0800.
Why?
EMACConfigSet:
// Set the maximum receive frame size. If 0 is passed, this implies // that the default maximum frame size should be used so just turn off // the override. // if(ui32RxMaxFrameSize) { HWREG(ui32Base + EMAC_O_WDOGTO) = ui32RxMaxFrameSize | EMAC_WDOGTO_PWE;
