Код sd_dos открыт - http://www.nedopc.org/forum/viewtopi...141316#p141316
Код sd_dos открыт - http://www.nedopc.org/forum/viewtopi...141316#p141316
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Кстати, не так давно сделал небольшую ревизию подпрограмм SD (использованные в приведенном проекте подпрограммы от b2m такие же как у меня, а откуда их я дернул, я уже и не вспомню) и спешу отчитаться: инициализация SD там делается неверно, поэтому многие карты и не работают (а работаю только старые). Для правильно инициализации даже SDC-карт объемом до 2Gb (детекта SDv1 там или SDv2) как минимум еще должны использоваться команды CMD8 (для переключения алгоритма между SDv1 и SDv2) и CMD16 для установки блока для SDC объемом 2Gb (на многих SDC объемом 2Gb он по дефолту не 512б). А также если при детекте задействовать CMD1, то можно и MMC-карты поддержать. Я когда эти исправления внес, у меня заработали еще несколько SD-карточек (объемом до 2G), но почему-то не все заработали (поэтому пока не закоммитил в git). По-хорошему, надо дебажить что карты выводят в респонсах R1..R7 после каждой операции (мне пока что этим было заняться лень) и тогда возможно и все остальные запустим.
И кстати, там еще и в дефайне для ACMD41 ошибка, он должен быть 0C0h | 41h а не 040h | 41h - все ACMDх команды кодируются с D7=1, т.е. у нас никогда не выполнялаь правильная для современных карт инициализация.
- - - Добавлено - - -
SDHC (которые более 2Gb) пока тоже у меня не взлетели, хотя инит я для них добавил по мануалу. Таки надо респонсы анализировать, а делать это на реале (а по другому нет смысла) дико лень.
- - - Добавлено - - -
Также, в некоторых реализациях SPI с упором на SD-карты я видел что авторы между некоторыми командами прогоняют гапы (sd_put 0FFh) и утверждают что это повышает стабильность. У нас такое не делается, а возможно стоило бы, учитывая что карты чаще всего работают на частотах "от балды" и длительность импульсов тоже от нее же.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)