This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi team,
We are using "EtherNet/IP Adapter Demos in MCU-PLUS-SDK-AM243X Version 08.06.00.43" example and this is working perfectly, Please find attached the example output.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
pbuf_alloc failed on receiving nrt frame
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
WARNING: Frame without ETHERTYPE received.
We tested between AM2434 EVM to PC as per the following connection and captured data with wireshark. I have successfully transmitted and received data
My query for this is
Please help me out with my queries.
Waiting for your feedback.
--
Thanks & Regards,
Divyesh Patel
Hi Divyesh,
Due to holiday in India, please expect a delay in replies on this thread until 9/19.
Regards,
Brennan
Hi Divyesh
We were aware of issues (WARNING: Frame without ETHERTYPE received.) mentioned in this UART log for MCU+SDK 08.06.00.43 and they are fixed in INDUSTRIAL COMMs 09.00.00.03. The “pbuf_alloc failed on receiving nrt frame“ message is reported when POOL buffer of LWIP is full and can’t to allocate space for new frame. In such a case the frame is dropped and opposite side will repeat a request. This situation you can easily simulate by stopping on breakpoint and can always happen.
About your questions:
1) Which function is used to transmit and receive data?
This is not possible from side of application. The receive and transmit is handled by stack library. Inside of stack library you can use following:
RX: PRU_EIP_EmacNrtRxCallback for non-real time data or
PRU_EIP_EmacRtRxCallback for real time data
TX: PRU_EIP_sendTxPacket
2) How "EI_API_ADP_pruicssInit()" function works, where is the source code of this function?
This function is EtherNet/IP adapter stack interface function. Means is implemented on side of stack (library). The sequence of calls is:
EI_API_ADP_pruicssInit → DTK_EI_API_ADP_pruicssInit → PRU_EIP_loadPru
The PRU_EIP_loadPru function is making basic initialization of PRU-ICSS block and EthPhy’s and loads firmware inside.
3) If i want to transmit my own custom data, how could i do it?
If this is understood as that the customer wants to send his own frame, with or without EtherNet protocol header, it is not allowed to do that from side of application. The customer can configure only some specific parts of data which are belonging to specific protocol which is supported by our stack. A good example is CIP Identity, where it can be defined vendor specific data and than they are used in response frame, but ETHERNET header and other parts of response frame are created by stack layers (CIP Identity object and LWIP).