User Tag List

Показано с 1 по 10 из 113

Тема: SD-карты и контроллеры, реализации FAT

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В первоначальном варианте последовательность инициализации работоспособная, хотя и не для всех карт (только для SDC v1.0):
    CMD0, CMD55, ACMD41
    На CMD1 я бы переделывать не советовал, т.к. эта команда, введенная во времена древнючих MMC-карт и оставленная для совместимости у SDC v1.0, для новых карт (SDC v2.0, SDHC) считается obsolete (устаревшей, не поддерживаемой) и ХЗ какие из новых ее поддерживают (не исключаю что некоторые и понимают ее).

    Сам я, знакомясь с даташитом на SD (на сайте SD-ассоциации) и готовыми реализациями в Инете (много исходников на С встречается) пришел в итоге к такой последовательности инициализации (поддержку MMC я не стал делать, только SD всех версий): CMD0, CMD8, CMD59, CMD55, ACMD41, CMD58, CMD9. Опционально еще CMD16 (установить размер блока с параметром для размера в 512байт). Плюс там есть анализы ответов карты и ветвления в зависимости от них, также не забываем что для разных типов карт (определяется по CMD8) надо подавать разный параметр при вызове ACMD41, и что CMD0 и CMD8 имеют разные CRC и это критично, а для прочих команд CRC большинство карт не проверяют и можно использовать 095h или другие. Что в итоге получилось, выкладывал тут (работает и на реале с большинством карт, и в эмуляторе).

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

    Цитата Сообщение от PVV Посмотреть сообщение
    кто сможет ответить на такой вопрос -
    карта получила командную последовательность ACMD41, ответила 0х00, те все ОК, но чтение из карты продолжается, что в таком случае должно приходить из карты? 0xFF или что-то другое, например 0х01 (IDLE) ?
    после того как карта на ACMD41 ответила "00", туда надо слать следующие команды. Если туда вместо этого начать слать коды не являющиеся командами, или кучу FF (т.е. например читая в цикле карту ничего туда не отправляя), то карта переходит в IDLE и начинает отвечать 0х01. И вывести ее из IDLE можно только опять прогнав всю последовательность инициализации. Такое у меня остаточное знание, т.е. "но это не точно"{как теперь любят добавлять к ответам }

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

    К сожалению, пока не могу проверить sdOS на реале, т.к. схема подключения SD у меня спаяна только на Орионе-ПРО, а в нем у меня нет ROM-диска и соответственно нет Ordos вместо которой можно было бы поставить sdOS. (На ПРО без ROM-диска Ордос запускаеться откуда-то из потрохов ROM-BIOS, по простому ее не заменить). Ближайший вариант это когда sdOS будет в виде приложения Ordos (т.е. с 16-байтным заголовком и посадочным адресом ниже Ордос чтобы ордос могла ее загрузить) - тогда смогу попробовать и на ПРО: дополнительные Ордос программы объемом до 8кб я научился автоматизированно запихивать прямо в "пустоты" 64к-шного ROM-BIOS Ориона-ПРО и обходиться без всяких дополнительных ROM-дисков.
    Последний раз редактировалось Error404; 19.01.2018 в 13:24.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Altair8800 идеи, решения и реализации
    от L Juriy в разделе Зарубежные компьютеры
    Ответов: 13
    Последнее: 14.09.2017, 11:56
  2. помогите загрузить c FAT ZX-EVO
    от mbojenov в разделе ZXEvo
    Ответов: 11
    Последнее: 11.08.2012, 16:29
  3. Ответов: 218
    Последнее: 12.04.2011, 18:55
  4. Нужен софт под FAT
    от KingOfEvil в разделе Софт
    Ответов: 5
    Последнее: 06.06.2007, 00:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •