I have interfaced 256Mb sdcard with stm32f051 using FATFS driver, find_volume() function is giving FR_NO_FILESYSTEM response because ld_word(fs->win + BS_55AA) != 0xAA55. Please give me some solution for this issue.
Would assume you are interfacing via SPI.
Is the diskio read function failing? What data is being read? Is the card formatted and readable in a PC?
The 256 MB card, as Andrew points out, is very old. Some of the recent ST drivers likely don't support the old MMC command set, but rather those for the SD, and SDHC/XC ones.
I seem to recall the old cards needing a couple of CMD55 during initialization.
Yes, i am interfacing via SPI, check_fs() function is failing. The card is formatted and it is readable in PC.
Yes, it is failing because the routines underneath aren't supplying the right data.
Review/dump the data being read from the media, make sure they are actually an MBR or BPB sector the file system can use.
I'd recommend dumping the data from the read function in the DISKIO layer.
View all questions in Keil forum