>>513

int tempbufsize;
char *ptempbuf;

if(FAT_InitFiles()==false) while(1); // file system error
FAT_FILE *pf=FAT_fopen("/test.dat","r");

if(pf!=NULL){
FAT_fseek(pf,0,SEEK_END);
tempbufsize=FAT_ftell(pf);
FAT_fseek(pf,0,SEEK_SET);
ptempbuf=(char*)malloc(tempbufsize);

FAT_fread(ptempbuf,1,tempbufsize,pf);
FAT_fclose(pf);
}

FAT_FreeFiles();

脳内コーディングでコンパイラ通してません。
FAT_InitFilesとFAT_FreeFilesはプログラム全体の最初と最後に呼べばOK。
devkitproに含まれるlibfatは対応アダプタが少ないですが自動認識するので、これで大丈夫だと思います。