Hi,
I am using RT1170 processor. We got some performance issue with USB Host MSD FAT file system when placing the data on SDRAM or OCSRAM. I am trying to use an SDK example to demonstrate the issue. I am not sure if anyone experienced this issue?
Setup 1, Original RT1170 SDK example
- Import SDK example host_msd_fatfst_freertos_cm7.
- Change MCU_CORE_CLOCK from 120000000 to 998000000 to reflect the correct CPU core clock frequency.
- Change MSD_FATFS_THROUGHPUT_TEST_ENABLE from 0 to 1 so the code will measure USB MSD read and write speed.
- Build the project. The code is XIP from the NOR flash. BSS segment, stack and heap are put on the DTC.

- Debug the project on RT1170 EVK. I also need to connect a USB flash drive to micro USB1 (J20) on RT1170 EVK.
- The following results are printed on debug console. The read speed is around 25MB/s.

Setup 2, Original example + BSS segment, stack and heap in OCSRAM (set to non-cacheable)
- Same as Setup 1 step 1.
- Same as Setup 1 step 2
- Same as Setup 1 step 3.
- Move SRAM_OC1 to first RAM option in the table of MCU setting.

Disable the cache on OCRAM by changing the value in board.c file from 1 to 0 as highlighted in the following

- Build the project. The code is XIP from the NOR flash. BSS segment, stack and heap are put on the OCSRAM.

- Debug the project on RT1170 EVK. I also need to connect a USB flash drive to micro USB1 (J20) on RT1170 EVK.
- The following results are printed on debug console. The read speed is around 22MB/s.
Setup 3, Original example + DATA_SECTION_IS_CACHEABLE=1 + default ram is OCSRAM (set to cacheable)
- Same as Setup 2 step 1.
- Same as Setup 2 step 2.
- Same as Setup 2 step 3.
- Same as Setup 2 step 4.
- Set DATA_SECTION_IS_CACHEABLE=1 in preprocessor.

- Build the project. The code is XIP from the NOR flash. USB related data is in DTC. Other BSS segment, stack and heap are put on the OCSRAM.

- Debug the project on RT1170 EVK. I also need to connect a USB flash drive to micro USB1 (J20) on RT1170 EVK.
- The following results are printed on debug console. The read speed is less than 0.5MB/s. I do not think this speed is normal with cache enabled. What have I got wrong?

Thanks and regards,
Richard