I would like to enable the cache for the ENET driver for the 100Mb/s Ethernet port (PHY = KSZ8081) on the M4 of the RT1170-EVK, with the aim of increasing its speed of communication.
I found the following defines in MIMXRT1176_cm4.h:
Could someone please explain to me how I can use the above defines to enable the ENET driver's cache on the M4? Or is there another way to do this?
The ENET SDK example does not use the cache.
Solved! Go to Solution.
Do you use the SDK for the RT1170? Please tell me which detail SDK version you are using now?
From your picture, you can control the IOMUX_GPR_GPR28 register to enable it, bit 7.
You also can check the fsl_enet.c driver, check the related cache code.
Wish it helps you!
Thank you for your response.
I am using the latest SDK version:
From the screenshot you sent, I realised that I don't want to use the cache (I cannot combine ENET transactions before sending them as the project's ENET transmission requirements are real-time).
The reason I was asking about the speed of ENET is because I currently cannot transmit and receive immediately after each other in my project. If I include an SDK delay of 40us between the transmit and receive, then it works.
I tried checking the enet_data_error_stats_t struct, but it seems that the values aren't set properly in ENET_GetRxErrBeforeReadFrame() of fsl_enet.c. When this function is called (when the receive fails), then none of the following if statements test true:
Just below these if statements is a 'break' statement that exits the do-while loop. The function exits after hitting this break.
Note: I am using the M4 to do Ethernet communication. This is a multi-core project, with the M7 as the master and the M4 as the slave.
Thanks for your updated information.
So, you can reproduce the issues on the SDK M4 project directly, right? Which detail project you are testing now in the SDK, I mean, if you don't include an SDK delay of 40us between the transmit and receive in the SDK detail project, then can meet the issues, just let me reproduce the issues at first, then I can check with our internal SDK team.
Please give me the SDK project path to produce the issues, and the detail modification points to reproduce the issues, thanks.