I was trying out the block devices classes on some of our old boards, and noticed that some chips are supported, such as S25FL256L, while some others are not, such as S25FL256S (a newer version to L). Also the QSPI chip, MT25QL512A, on DISCO_F746NG board seems to work fine with QSPIF BlockDevice class. but I didn’t fully test it.
So my question is, is there a list of supported chips? If we want to know a certain chip is supported, how do we check if it can work with those BD classes?
Honestly we should really make a wiki page for this; I am not aware of one that exists. Offhand, I believe that these classes can work with any chip that properly implements the SFDP standard. However, a lot of chips don’t – e.g. the S25FL line uses a non-standard three byte addressing method, while the Renesas one that they use on the Arduino Giga doesn’t actually have a complete SFDP table at all. So I feel like it’s a bit of guesswork unless you really go through the datasheet with a fine toothed comb.
I agree that a wiki page could be a good idea and be really helpful. At the end of day, the biggest reason I like Mbed is that it can abstract away a lot of nitty gritty stuff. Maybe you can set up such a page for mbed-ce?
I added MT25QL512A and S25FL256L into the wiki page. We have EEPROM from ST, M24512 installed on some of our boards, will test it and post back when I have time.