- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would like to use the FX3S as a USB flash drive backed by a SD card. I see there is an example app and devkit FX3S DVK by Pactron to demonstrate this.
Is this example suitable for production? If not, how much more work is needed on the firmware side? I would like the product to support all file systems supported by Windows and MacOS and not need any custom drivers. Are there any performance numbers for read/write based on this example and DVK?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
This example can be used as a reference for your production firmware which requires testing from your side. The example when used as is can enumerate two SD cards connected to two S-ports of FX3S as 4 logical units - each SD card is partitioned into 2 logical units using CyU3PSibPartitionStorage() API - please refer to FX3 API Guide for more details on this API - This API only needs to used only
when there is no need for the storage device to be read through another SD host controller.
When this firmware is used, the USB device reports USB Mass storage class as it's interface class - So device driver on the Host side(Windows or MacOS) which supports USB Mass storage device class should be okay.
We have seen sustainable throughput of 43MBps(Read) and 40MBps(Write) when SD 3.0 cards are used on USB 3.0
(8-bit SD bus width and 52MHz DDR clock are used)
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
This example can be used as a reference for your production firmware which requires testing from your side. The example when used as is can enumerate two SD cards connected to two S-ports of FX3S as 4 logical units - each SD card is partitioned into 2 logical units using CyU3PSibPartitionStorage() API - please refer to FX3 API Guide for more details on this API - This API only needs to used only
when there is no need for the storage device to be read through another SD host controller.
When this firmware is used, the USB device reports USB Mass storage class as it's interface class - So device driver on the Host side(Windows or MacOS) which supports USB Mass storage device class should be okay.
We have seen sustainable throughput of 43MBps(Read) and 40MBps(Write) when SD 3.0 cards are used on USB 3.0
(8-bit SD bus width and 52MHz DDR clock are used)
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I looked at dedicated USB flash drive ICs and it seems there are some important features like bad block management and wear leveling that are not mentioned in the example firmware. Is there some example for these features?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Usually the bad block management and wear leveling are handled by the controller within SD card itself.
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regarding the throughput numbers given above Extreme Pro SD cards from SanDisk were used.
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the info. Are there any commercially available products that use FX3S and SD card as a USB flash drive? I would like to evaluate an actual product instead of using the devkit.