On my customer’s lab, they face the issue that i.MX28 LAN communication could stop in the ESD test.
The test was done according to the ESD standard, IEC610004-4.
The issue could be seen at when fast transient noise was added and LAN traffic was high.
BTW, they use LAN8720A for PHY.
OS they use is based on your WINCE6 BSP(WCE600_10.08.02_SDK).
They did additional test on MCIMX28EVKJ board and found a problem.
The following log was seen when CRC error packets were sent to i.MX28 from network tester.
> Running TouchCalibrate
> Event is successfully created 9d0703
> +OEMSetAlarmTime(3/12/2006 2:0:0.000)
> Alarm to be set is OK: 2006/3/12, 2:0:0 Day of week:0
> Exception 'Data Abort' (4): Thread-Id=02690002(pth=837d130c), Proc-Id=00400002(pprc=81dfb308) 'NK.EXE', VM-active=00db00
> 02(pprc=87fbfd40) 'shell.exe'
> PC=c0a63790(enet.dll+0x00003790) RA=d07f0e8c(???+0xd07f0e8c) SP=d088fdd0, BVA=0000000c
WinCE generated the exception always and the communication stopped.
From the log, they believe that the code in BSP that Freescale provided contains a incorrect code.
When the CRC error packets are received, it should be ignored or retry request should be created, it should not generate exception.
Could you give your comment on that?
If you have a patch code, could you provide it?