cancel
Showing results for 
Search instead for 
Did you mean: 

FileX exFat slow mounting/opening

Hello,

We've recently got our hands on 2TB SD Cards and discovered limitations with the FileX library provided through Cube. When mounting systems with exFAT using the provided FileX library, the bitmap is initialized by opening the volume and then calling _fx_utility_exFAT_bitmap_initialize within the _fx_media_open function. However, _fx_utility_exFAT_bitmap_initialize takes a significant amount of time for a large SD card since it checks all the cluster states (15,000,000+ on a 2TB card!). As a reference, a 10MHz clock for an SDIO peripheral takes 10+ minutes to initialize the bitmap. 


Azure has given the reigns of FileX over to Eclipse ThreadX and archived the original repo so an issue can't be opened there. 
Given the licensing issues with exFAT, the exFAT-specific code generated from Cube doesn't exist within the newer Eclipse ThreadX FileX repo and isn't found on any official GitHub repo that I could find. 

 

After reading the exFAT spec, I'm not entirely sure why we need to initialize the bitmap in the way it is currently implemented in this FileX exFAT library. Windows and macOS don't do this given how quickly you can mount an exFAT drive to those operating systems. 

 

Is there a better solution out there? I can probably skip this bitmap initilization function entirely and hack something together but I'd rather turn to a more official solution as to avoid re-implementing any hacks when I need to regenerate the files. I can't seem to find anyone complaining about this online but SD cards of these capacities are pretty new. 

 

Update: found the STM32 repo for FileX and will be posting an issue there. 

1 REPLY 1
Saket_Om
ST Employee

Hello @Patrick Chwalek 

Our team will take care of reported issue in exFAT takes really long to mount/open for large sizes (2TB)

If your question is answered, please close this topic by clicking "Accept as Solution".

Thanks
Omar