I'm currently developping a SD Card driver, and after some hard work, I got to a point where everything works pretty well. However, I have this one SD card that doesn't boot properly, while 3 others work great. I'm working on a STM32F070, accessing the microSD card with SPI, clocked at 12MHz.
The error occurs at the very beginning : I send CMD0, the card actually sends the correct response (0x01), but then, when sending CMD8, the command is rejected (I get a 0x7F R1 response). I tried sending CMD0 again instead, same result. I raise CS, send 8 clock bits, and lower CS again between the two commands.
The 3 cards that do work are:
- Standard capacity 2G, with no speed class indication
- HC 4G C10
- HC I 4G C4 (this one is strange : UHS-I bus, but low speed class C4)
The one that doesn't work is a HC I 16G U1.
I read a lot, I tried a lot, but I can't figure out why the card would accept CMD0 and reject everything else after that. Of course, I tested the card on a standard reader and it works.
Any suggestion would be appreciated