4 years, 5 months ago.

stm32f769NI SDFileSystem Error.

Today SDSD SD SDD debugging system when the compiler error message, do not know why. Error: Class "FATFileSystem" has no member "_ffs" in "SDFileSystem/FATFileSystem/ChaN/diskio.cpp", Line: 25, Col: 37

2 Answers

4 years, 3 months ago.

Really bad. The code you write today, no guarantee getting it works tomorrow. Suddenly, SPI doesn't work, now the SD-CARD library doesn't work ..etc These changes should be in major revision changes only or they need call the mbed as beta version .. Bad

I figure out the real cause of this problem. The calss FATFileSystem is defined now inside the mbed-os and in that definition you will not find the

FATFileSystem * _ffs pointer 

It is changed to the following :

static BlockDevice *_ffs[_VOLUMES] = {0};

(The file is located at (/mbed-os/features/filesystem/fat/FATFileSystem.cpp) So, even when you use the external class, the compiler dose take the already defined cals inside mbed-os. But exporting the project with GCC will not compile due to the multiple definition. It is bad that the compile of mbed is not telling you the correct problem. Now, the answer is : the SD-Library is no more compatible with the MBED-OS.

4 years, 5 months ago.

I had a similar error when I was using mbed-os to get SDFileSystem working. I switched to using SDBlockDevice as referenced in this example: https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-bootloader/file/a51ce777aa88/main.cpp