I just wanted to bring something i've noticed to your attention.
I'm working on a usb hosted fss and noticed that I was getting sporatically bad performance through the use of the AD_FSS API calls:
adi_fss_FileOpen() vs. fopen
adi_fss_FileWrite() vs. fwrite
adi_fss_FileClose() vs. fclose
Under my use case, I am using the MP3 Encoder to encode audio buffers and then write them to file opened on the USB Memory Stick device. To process 60 seconds of sythesized sine stereo data, the processing times were:
ADI_FSS API (Sporatic Performance)
Best Case ~= 5 Secs
Worst Case ~= 18 Secs
C I/O API (Predictable Performance)
Average Case ~= 5 Secs
I am using data and instruction cache as per the requirements of the MP3 encoder. I was wondering whether there might be some collision due to the underlying resources used by the ADI_FSS calls that is not present in the standard c i/o api. For my application, the standard c i/o works great, but was surprised that the ADI_FSS did not perform in a similar manner.