Всё пишется и читается, а вот со стиранием проблема.
CMD32 не работает.
Вот кусок кода:
unsigned char cardresp;
unsigned char firstblock;
unsigned short fb_timeout=0xffff;
unsigned long place;

place=512*start_address;
sd_Command(32, (unsigned short) (place >> 16), (unsigned short) place);

cardresp=sd_Resp8b(); /* Card response */

Всё разобрался, вопрос снимается.