I can’t help you with your first two questions, but I’ve been using it in heavily multi-threaded applications for a long time. If you compare it to FatFs, for example, FatFs has some support for “re-entrancy” or thread safety, but it does not appear to have sufficient FAT and directory locking in FatFs to make operations like f_mkdir
, f_chdir
and f_getcwd
thread safe, whereas FreeRTOS+FAT does.
Take a look at ff_locking.c and vMultiTaskStdioWithCWDTest in ff_stdio_tests_with_cwd.c.
Also, see Announcement: FreeRTOS Symmetric Multiprocessing (SMP) +FAT running on Raspberry Pi Pico for an example.