Hello Team,
The issue that mentioned in the top has been resolved. It was the issue with the configuration of Ethernet buffer in the tresos.
Now it is exiting from the loop and transmission is happening continuously. But we are still able to see only single frame in the wireshark.
Can any one support , how we can test loop back method for ethernet.
I noted one configuration in the tresos Loopback enabled. That I enabled it. What will be the next step for test the ethernet in the loop back method?
Kindly support.
Hi @Imsiya,
Can you please share the steps to enable the PFE and ethernet and start the transmission of the frame over ethernet?
I think that might be the issue in the steps.
Thanks,
Mayank s Patel
Hello Patel,
Thanks for your fast reply!!!
Yeah sure.
Steps of Eth_43_PFE Initialization:-
1. Eth_43_PFE_PreInit();
2. Mcu_Init();
3. Mcu_SetMode();
4. SerDes_Init();
5. Eth_43_PFE_Init();
6. Std_ReturnType retStatus = Eth_43_PFE_SetControllerMode(0, ETH_MODE_ACTIVE);
7. Mcu_InitClock(McuClockSettingConfig_0);
while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() )
{
}
Mcu_DistributePllClock();
Steps for transmissiion of the frame:-
1. Invoked test application function created for the transmission of the frame from one of the software component runnables.
2. Eth_43_PFE_ProvideTxBuffer() -> Returns Buffer E_OK;
3. assigned the frame to the buffer pointer .
/* ARP packet */
uint8 tst_frm2_data[] =
{
0x00U, 0x01U, /* HW type */
0x08U, 0x00U, /* Protocol type */
0x06U, /* HW size */
0x04U, /* Protocol size */
0x00U, 0x01U, /* Opcode: ARP request */
0xd8U, 0xcbU, 0x8aU, 0xa3U, 0x7dU, 0xcfU, /* Sender MAC */
0x00U, 0x00U, 0x00U, 0x00U, /* Sender IP */
0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, /* Target MAC */
0x00U, 0x00U, 0x00U, 0x00U, /* Target IP */
};
4. Eth_43_PFE_Transmit() --> it trigger the Eth_43_PFE_LLD_Transmit()--> Returns E_OK from the both function.
5. Called Eth_43_PFE_TxConfirmation soon.
We are getting first frame in the wireshark.
From next cycle onwards frames are not getting in the wireshark.
With these information , I believe you can guide me.
Looking forward your guidance.
Hi @Imsiya,
I think there is a timing gap here.
Eth_43_PFE_TxConfirmation(u8CtrlIndex); is a blocking function that will block until you didn't get the transmission confirmation.
This TxConfirmation function will block an approved buffer until it doesn't get the confirmation and you are supposed to access these buffers. You have to introduce a delay in the while loop.
Hope this helps you.
Thanks,
Mayank s Patel
Hello Patel,
Sorry for the late reply. We tried to add delay for tx confirmation. The issue was not resolved. We verified tx confirmation is happening every cycle by adding some stubs inside the Ethif_Txconfirmation. It is occuring.
What I observed, it is related to MAC address that we configured in the both Tresos and test application.
When We keep default Mac address in the both tresos and in the tst_ frame, we are getting the continuous frame.
But for project specific MAC addresss, we are getting only one frame.
We are not understanding the reason behhind this. Could you please answer this?
I am also having same issue and i stuck at the same situation...ETH functions are stopped in while loop. as we waiting packet transmission status. small doubt, are you doing this PFE-ETH programming on M7 or A53 ??
In my case PFE firmware/Driver is not loading properly for M7. is my understanding while debugging.
ETH functions will work only when PFE firmware is loaded properly.