Using Kinetis SDKv2 on a K64 dev kit.
In function ethernetif_input, status is compared against kStatus_Success in the else case. The issue is that status can be kStatus_ENET_RxFrameEmpty, which is a valid case of data not ready, not an error. This was causing me occasional packet loss. Changing it to check against kStatus_ENET_RxFrameEmpty fixed it.
Also in ethernetif_input, the call to ENET_ReadFrame expects a contiguous buffer, which is not guaranteed. It also incorrectly modifies the length of the packetBuffer. Either ENET_ReadFrame needs to be aware of the pbuf structure or a temporary buffer needs to be created to fit the entire packet. Failure to do so causes unintended memory to be overwritten.
已解决! 转到解答。
Hi :
We will release a new version for K64 in October, and this issue is fixed at this version.
Regards
Daniel
Hi Michael,
this issues are already discussed.
Please have a look at https://community.nxp.com/thread/395104.
Best regards
Manfred