Цитата Сообщение от b2m Посмотреть сообщение
Странно, 41h это будет CMD1, кто-нибудь в курсе, что это за команда?
CMD1 используется для инициализации очень старых карт - MMC и самых первых SD (собственно, с помощью CMD1 вкупе с прочими ветвлениями инита, и можно отдетектить MMC там или SD). В современных SD вместо CMD1 рекомендуют использовать CMD55+ACMD41, по CMD1 большинство из них почему-то не инициализируется (на счет старшего бита в ACMD41 меня проглючило, согласен - не там посмотрел, у меня он не ставится в 1 ни в эмуляторе ни на реале ), при этом после ACMD41 желательно выставить размер блока (CMD16) в 512 чтобы общим кодом работали все 2Gb карты (у некоторых из них дефолтом блок 1024), а в самых последних SD (новые SDC и все SDHC) перед CMD55+ACMD41 еще надо выполнить CMD8 и в зависимости от того что она вернет выполнять ACMD41 с параметром 0 (для SDC v1.0) либо с параметром 0x40000000 (для SDC v2.0 и SDHC).

- - - Добавлено - - -

Также, для SDC v2.0 и SDHC я использую CMD59 для отключения CRC. Пишут, помогает некоторым картам которые реально считают CRC, ведь у нас в коде CRC передается только для первой команды инициализации (он же не везде 95h). Я добавлял CRC еще для нескольких послеидущих команд, но это слабо влияло (подозреваю там в другом месте собака порылась).

- - - Добавлено - - -

Цитата Сообщение от PVV Посмотреть сообщение
Да, именно так, проверил только что и на реале и в эмуляторе b2m. Пересобрал sd_dos, зашил ПЗУ, и проверил в работе - работает.
Тут нужна статистика на больших выборках. У меня работают 5 SDC карт из 8 имеющихся (закономерность от объема и года выпуска не ясна - и новые 2Gb работают но не все, и старые 512Мб тоже работают но не все), с SDHC пока разбираюсь, они что-то не инитятся, надо респонсы смотреть.

- - - Добавлено - - -

Пока что экспериментирую с простейшей полностью программной схемой подключения SD на одном регистре для программного формирования упр. сигналов и данных и 1-битном буфере для чтения данных (паять более сложные не хватает терпения), условно называемой мной в эмуляторе "от N8VEM" хотя таких схем полно (ввиду ее очевидности). Соответственно, скорость там минимальная.