Hi,
Take a look at this thread FatFS f_read returns FR_DISK_ERR - Software Development - Daisy Forums (electro-smith.com)
Basically you need to move the FIL file;
declaration out of your main function to avoid it being allocated on the stack. If you declare it a global by adding it just under the place where you define FatFSInterface fsi;
you should be able to get it to work.
Cheers