FX3S - Need to Increase Speed of SD CARD Read & Write operation

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
makm_4323401
Level 1
Level 1

Hi

My project we are using the cypress FX3s dongle board. I need to increase the speed of SD card writing & Reading using (FATFS),

Currently my project coping speed is taking around  69 seconds for 1 Gb file ,I want to be reduce to 55 second .

so I am planning to use ping pong buffer method to increase the copy speed .

MY project overall view

Currently three threads I configured

thread1 - Read the data from the SD card & Writing into the Second SD Card (this thread I m planning split in to two thread one for write another one for read)

thread2 - using for the USB UART

thread3 - using for USB Mass Storage

Thread3 will be Suspended when thread1 execution.

when first thread reading data from SD card using DMA, the handle is given to the DMA that time I plan to switch to another thread for writing, but it’s not switching without Thread sleep function if I use thread sleep function, my copying time is increased Actually I want, two thread to be act as a parallel operation then may be I can increase the speed please provide me your valuable suggestion

Best Regards

K Manikandan

0 Likes
1 Solution
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Hello,

Please try using CyU3PThreadRelinquish API instead ThreadSleep.

Relinquish control to the OS scheduler.

Description

This is a RTOS call for fair scheduling which relinquishes control to other ready threads that are at the same priority

level. The thread that relinquishes control remains in ready state and can regain control if there are no other ready

threads with the same priority level.

Regards,

Sridhar

View solution in original post

0 Likes
1 Reply
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Hello,

Please try using CyU3PThreadRelinquish API instead ThreadSleep.

Relinquish control to the OS scheduler.

Description

This is a RTOS call for fair scheduling which relinquishes control to other ready threads that are at the same priority

level. The thread that relinquishes control remains in ready state and can regain control if there are no other ready

threads with the same priority level.

Regards,

Sridhar

0 Likes