I'm developing an application with PIC32MX, that record 3 WAV sounds and store theme into SD. Unfortunately the speed that I have reach is 155 kB/s and is insufficient for my application. Then I have to move fatFS, that use multi sector write speed wich seems to solve my problem. I download the latest library for fatFS here (bottom of the page). I read on the internet that this code is generic and only some part of code needs to be adapted, based on microcontroller in use. I have spent many time trying to understand what are this portions of code, but I still dont'find theme. Anyone can help me?

EDIT: Finally I understand how to modify the fatFS for adapt it to my system. But I have a little poblem. After I properly modified the "platform dependent" section with correct SPI and chip select pin, I tryied to compile. I obtained an error about windows.h and tchar.h, included in file integer.h. But in integer.h I see the ifdef, and I want compile the "embedded" section, not the windows section. If I try to delete the ifdef, I obtained this error: " ';' expected but 'fs_type' found ". This come from typedef struct of ff.h. On internet there are project with the identical structure, why this doesn't compile?


1 Answer 1


Microchip Harmony and MLA both contain good fast file access libraries, supporting multiple backing stores including SD, MMC, CF-II, USB MSD, etc. I suggest you give them a go since they are already tailored to the PIC32 chips.

  • \$\begingroup\$ What is meant by a "blacking store"? \$\endgroup\$ Commented Mar 4, 2015 at 16:40
  • \$\begingroup\$ Typo - ignore the "l". Should be "backing stores". Computing term. Look it up. \$\endgroup\$
    – Majenko
    Commented Mar 4, 2015 at 16:49
  • \$\begingroup\$ thanks for the answer. Unfortunately I'm using mikroC. I haven't problem to work at register level, setting the single register for SPI comunication, if needed. But I can't use library made for other system, such as Harmony and MLA. For this reason I choose fatFS, because I read wich is indipendent from microcontroller (and compilator I think), and it only needs to change few basic low-level commands; but I can't find these. \$\endgroup\$ Commented Mar 4, 2015 at 19:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.