Using ENET Cache RT110-EVK

cancel
Showing results for 
Search instead for 
Did you mean: 

Using ENET Cache RT110-EVK

Jump to solution
135 Views
D_Tram23
Contributor IV

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
51 Views
D_Tram23
Contributor IV

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
126 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
124 Views
D_Tram23
Contributor IV

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
118 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @D_Tram23 

  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
52 Views
D_Tram23
Contributor IV

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