We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I am using Flash file system for interfacing sd card using SPI. MCU is LPC2138. Every thing is working fine except for fcheck() which always returns 1. I am using the latest versions MDK4.54 and RL4.13. Below is the idea of problem:
int main () { FILE *myFile; char str[50]; Initialize(); if(finit("M0:") == 0) { UART0_sendstring("SD card Init ok\r\n"); sprintf(str, "Free Space = %d\r\n", ffree("M0:")); UART0_sendstring(str); sprintf(str, "Fanalyse = %d\r\n", fanalyse("M0:")); UART0_sendstring(str); if (fanalyse("M0:") > 50) { UART0_sendstring("Defragmenting the Sd card.\r\n"); fdefrag ("M0:"); } sprintf(str, "Fcheck = %d\r\n", fcheck("M0:")); UART0_sendstring(str); myFile = fopen("M0:\\Files\\welcome.txt","w"); if(myFile != NULL) { fputs("Hello My name is salman. What is your name?\r\nI am going to the airport.\r\nWould you like to come with me.", myFile); } fclose(myFile); } else UART0_sendstring("SD card Init Failed\r\n"); while(1);
OUTPUT: SD card Init ok Free Space = 126189568 Fanalyse = 0 Fcheck = 1
One more thing, Previously i was using MDK4.21 and RL4.13 and fcheck() was working fine. Upgrading the MDK seems to have caused the problem.
This function works with EFS only
Does it mean Embedded Flash System.
Flash Drive or SPI flash Drive or Ram drive.
No Memory card drive. ?
Ok i got it. these functions can not be used with FAT file system.