Ideal memory configuration for best Ethernet performance

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

Ideal memory configuration for best Ethernet performance

Jump to solution
705 Views
muhammadumairkh
Contributor III

Hello NXP,

We are working on iMXRT1170 microcontroller and want to achieve the best possible data rate on the ENET_1G interface. Can you help us find the best memory configuration for this purpose? More specifically, which memory (e.g., Flash, OCRAM, ITCM/DTCM etc.) should we choose for the following so that we can get the best data rate on the ENET_1G interface. We also want your feedback on the use of write-back vs write-through caching policies for the above memories:

  1. Code (text area)
  2. Data section
  3. ENET descriptors and data buffers

Thanks.

Tags (2)
0 Kudos
Reply
1 Solution
684 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @muhammadumairkh ,

We haven't tried such case. But of course if you put all code in ITCM and all data/buffer in DTCM, you'll get highest record because they run at same speed with M7 core. But if there isn't enough space for all the code and data, you have to make some compromise, for example put some low access frequency data/code into OCRAM and SDRAM. You can refer to AN12437 and AN12042 for more suggestion.

ENET descriptors and data buffers must be put into noncacheable space. DTCM/ITCM is noncacheable. If you put them in OCRAM/SDRAM, you must set this space as noncacheable.

 

Regards,

Jing

View solution in original post

0 Kudos
Reply
1 Reply
685 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @muhammadumairkh ,

We haven't tried such case. But of course if you put all code in ITCM and all data/buffer in DTCM, you'll get highest record because they run at same speed with M7 core. But if there isn't enough space for all the code and data, you have to make some compromise, for example put some low access frequency data/code into OCRAM and SDRAM. You can refer to AN12437 and AN12042 for more suggestion.

ENET descriptors and data buffers must be put into noncacheable space. DTCM/ITCM is noncacheable. If you put them in OCRAM/SDRAM, you must set this space as noncacheable.

 

Regards,

Jing

0 Kudos
Reply