Hello,
This could be a bug in SDK.
I'm working on a project that uses RT1189/FreeRTOS/lwip, SDK v2.16.
I want to make lwip use NETC_ENETC1. What I found is that transmit packets are not being sent out (actually only one packet gets sent out).
The issue occurs in lwip/port/netc_ethernetif.c, function msgintCallback, where the TxIntr Flags are not correctly cleared for tx ring.
So we have to make a change like this
if (NETC_EnetcHasManagement(ethernetif->ep_handle->hw.base) && (getSiNum(ethernetif->ep_handle->cfg.si) == 0U))
{
/* Switch management ENETC Tx BD hardware ring 0 can't be used to send regular frame, so the index need increase
* 1 */
EP_CleanTxIntrFlags(ethernetif->ep_handle, 2, 0);
}
else
{
EP_CleanTxIntrFlags(ethernetif->ep_handle, 1, 0);
}
Thanks