Using ENET Cache RT110-EVK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using ENET Cache RT110-EVK

Jump to solution
1,177 Views
D_TTSA
Contributor V

Good day

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:

D_Tram23_0-1624351305818.png

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.

Kind regards

0 Kudos
1 Solution
1,093 Views
D_TTSA
Contributor V

Hi @kerryzhou 

Thank you for your responses.

I realised that the problem was application-specific, and I managed to solve it.

Kind regards

View solution in original post

0 Kudos
4 Replies
1,168 Views
kerryzhou
NXP TechSupport
NXP TechSupport

hI D_Tram23,

  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.

kerryzhou_0-1624442463500.png

You also can check the fsl_enet.c driver, check the related cache code.

Wish it helps you!

Best Regards,

kerry

 

 

0 Kudos
1,166 Views
D_TTSA
Contributor V

Hi @kerryzhou 

Thank you for your response.

I am using the latest SDK version:

D_Tram23_0-1624443217739.png

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:

 D_Tram23_1-1624447730629.png

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.

0 Kudos
1,160 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @D_TTSA 

  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.

 

Best Regards,

kerry

0 Kudos
1,094 Views
D_TTSA
Contributor V

Hi @kerryzhou 

Thank you for your responses.

I realised that the problem was application-specific, and I managed to solve it.

Kind regards

0 Kudos