iMX RT1170 XIP disabling and improve evkmimxrt1170_dev_msc_disk_bm_cm7 transfer speed

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

iMX RT1170 XIP disabling and improve evkmimxrt1170_dev_msc_disk_bm_cm7 transfer speed

1,111 Views
andrelongo85
Contributor I

Hello,

we are developing a new product based on the iMXRT1170. the device will have the USDHC1 connected to an SD Card and the USDHC2 connected to an 8-bits emmc. The application should transfer data from USB to SD Card or emmc as fast as possible. We are using as starting point the SDK example evkmimxrt1170_dev_msc_disk_bm_cm7 but we need to improve the transfer speed.

Giving the two USDHC modules being used, the pinout options for the QSPI NOR flash has to go or on the GPIO_EMC_B2 bank (limiting to a 16bits SDRAM) or to the more generic GPIO_ADC bank which is limited to 100MHz clock speed. In order to understand how much we loose going to 100MHZ QSPI NOR we have tested the evkit reducing the QSPI clock to 100MHz, but also we we would like to test the following:

1. The SDK example is using XIP and it is constantly accessing the flash at 133Mhz. Is there a procedure to disable XIP and load the image into the internal RAM or to the external SDRAM, so we can check performances of Flash XIP vs SDRAM/Internal RAM. We have found numerous posts but cannot manage to make the example boot form flash and then run from RAM.

Also any suggestions on how to improve the transfer speed of the evkmimxrt1170_dev_msc_disk_bm_cm7 example will be highly appreciated. The example is not using the external SDRAM at all, will be nice to understand if we can use it to make the transfer faster (bigger DMA buffers?).

Thanks and Regards,

Andrea

0 Kudos
Reply
3 Replies

1,082 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @andrelongo85 ,

1. Please refer to this link. Boot to SDRAM is same as boot to SRAM.

https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/I-MX-RT-How-to-boot-to-SDRAM/ta-p/1125054

2. To improve the transfer speed, you can 

      Set the compile optimization level to -O2;

      Use a bigger buffer;

      Use high speed SD card;

      allocate the buffer to DTCM may also helpful.

 

Regards,

Jing

0 Kudos
Reply

1,051 Views
andrelongo85
Contributor I

Dear Jing,

thanks for your reply. I have some additional questions:

1) what is the difference between the dev_msc_disk_cm7 example and the dev_msc_disk_LITE_bm_cm7 example?

2) Do you think that there will be any advantages using the external SDRAM?

3) do you think running XIP from NOR flash at 133MHz or 100Mhz will make any difference for this user case?

4) do you think that ruining code from SDRAM or internal RAM will make any difference?

5) it seems the buffers are already in DTCM, am I wrong?

andrelongo85_0-1686137391592.png

 

Sorry for the detailed questions, but we would need to address these points to make the proto board.

 

Best regards,


Andrea

 

0 Kudos
Reply

1,027 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @andrelongo85 

1) what is the difference between the dev_msc_disk_cm7 example and the dev_msc_disk_LITE_bm_cm7 example?

A: The non Lite version abstracts USB standard drivers and class related drivers, while the Lite version slightly reduces performance.

2) Do you think that there will be any advantages using the external SDRAM?

A: No

3) do you think running XIP from NOR flash at 133MHz or 100Mhz will make any difference for this user case?

A: Of course 133MHz will be a bit faster. I guess it should be very close.

4) do you think that ruining code from SDRAM or internal RAM will make any difference?

A: Not very much. But running code from TCM will be fast because it's speed is same to the cpu.

5) it seems the buffers are already in DTCM, am I wrong?

A: yes.

 

Regards,

Jing

0 Kudos
Reply