Запись данных на SD c PC .

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Родился
Сообщения: 19
Зарегистрирован: Пн фев 19, 2007 19:32:40

Сообщение Buncle »

Извиняюсь , что может быть повторяюсь :roll: Но есть такой вопрос . Как с ПК через стандартный ридер записать данные (WAV фаил) на карточку памяти без всяких FAT'ов и прочего , чтоб конкретно байт , записать в конкретную ячейку на SD ? Может кто программку подскажет для компа . Делаю говорилку на 51 контроллере :)
Спасибо .
Реклама
nds
Друг Кота
Аватара пользователя
Сообщения: 4772
Зарегистрирован: Вс май 25, 2008 19:47:47
Откуда: РФ

Сообщение nds »

WINHEX вам в помощь
2B OR NOT 2B = FF
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

писать в \\?\Device\Harddisk<номер>
Контактная информация:
Родился
Сообщения: 19
Зарегистрирован: Пн фев 19, 2007 19:32:40

Сообщение Buncle »

NiTr0 писал(а):писать в \\?\Device\Harddisk<номер>
А как задать адрес начала записи ?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

Работать как с обычным файлом.
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

Я делал просто:
1. На чистую отформатированую карточку пишеш свой WAV, в таком случае он получается заведомо нефрагментированым.
Обычно начало попадает в адреса гдето 0x8000
2 . В начало его вписываешь кодовое слово. Наприммер у меня Maukalka
3. При первом запуске контролёр читает всё подряд пока не найдёт слово и записывает его адрес в свою флэшку
4. в следующие разы нужно только проверять, на месте ли слово.

У меня на сайте программулька, которая собирает несколько WABов в один, обрезает заголовки и формирует описатель с адресами фрагментов
http://b612.h16.ru/murka.htm
Контактная информация:
Реклама
Родился
Сообщения: 19
Зарегистрирован: Пн фев 19, 2007 19:32:40

Сообщение Buncle »

Огромное спасибо . Очень помогли :)
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

b612 писал(а):3. При первом запуске контролёр читает всё подряд пока не найдёт слово и записывает его адрес в свою флэшку
Не проще ли тогда было бы сделать недо-драйвер нефрагментированной ФС? Для этого нужно:
1) найти в 0м секторе адрес раздела
2) найти в заголовке раздела начало корневого каталога и размер кластера
3) Найти в корневом каталоге начало файла (номер кластера) и его размер.
4) Считывать с данного кластера и далее, до окончания файла.
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

NiTr0 писал(а):
b612 писал(а):3. При первом запуске контролёр читает всё подряд пока не найдёт слово и записывает его адрес в свою флэшку
Не проще ли тогда было бы сделать недо-драйвер нефрагментированной ФС? Для этого нужно:
не проще. т.к. бывают фат12,16,32 и размер кластера разный и в корневом каталоге, пара сотен удалённых файлов, среди которых надо искать по имени, что то же самое что сразу по сигнатуре.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

b612 писал(а):не проще. т.к. бывают фат12,16,32
FAT12 на флешкках не бывает. FAT32 - только если явно указать или размер более 2 ГБ.
b612 писал(а):и размер кластера разный и в корневом каталоге
А кого это волнует, какой размер кластера для корневого каталога? Найти начальный кластер файла - и делов-то...
b612 писал(а):, пара сотен удалённых файлов, среди которых надо искать по имени
Не есть проблемой. 1я буква точка - пропускаем 32 байта...
b612 писал(а):что то же самое что сразу по сигнатуре.
Вычитать, скажем, пару кб (MBR, bootblock, 1й сектор корневого каталога), или вычитать пару сотен кб (31кб до начала раздела, + 2шт фат-таблицы от 64 до 128к, + 16к на корневой каталог из 512 записей - аж за которым начинаются данные) - есть разница? А если нужно 2 файла?
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

давайте помериемся размерами программ.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

В сотню-полторы байт ИМХО собссно процедура поиска по флэшке с FAT16 (вызывающая внешнюю процедуру чтения сектора) вложится легко. Не так уж и много.
А вот по скорости - будет на пару порядков быстрее даже в идеальном для вашего алгоритма случае.
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

NiTr0 писал(а):В сотню-полторы байт ИМХО собссно процедура поиска по флэшке с FAT16 (вызывающая внешнюю процедуру чтения сектора) вложится легко. Не так уж и много.
А вот по скорости - будет на пару порядков быстрее даже в идеальном для вашего алгоритма случае.
у меня ровно 200 слов и не примерно, а рабочее устройство
и паузка возникает только при первом включении и то её апсолютно не заметно, а при последующих вызовах чтение начинается не 4 раза, а только 2 так что по скоросости я в выигрыше.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

b612 писал(а):у меня ровно 200 слов и не примерно, а рабочее устройство
Слов чего?
b612 писал(а):и паузка возникает только при первом включении и то её апсолютно не заметно, а при последующих вызовах чтение начинается не 4 раза, а только 2 так что по скоросости я в выигрыше.
Нет. В проигрыше. Для полноценного алгоритма опять таки никто не заставляет при каждом обращении вычитывать по новой все. Достаточно запомнить сектор начала файла и размера, либо (для более корректной работы) - запомнить положение записи о файле в корневом каталоге.
Кстати, хотел бы я посмотреть, сколько ваш девайс будет стартовать, к примеру, в случае, если машина, записавшая флэшку, заражена вирусом, распространяющимся через файлы автозагрузки ;)
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

NiTr0 писал(а):
b612 писал(а):у меня ровно 200 слов и не примерно, а рабочее устройство
Слов чего?
у PICов команда соединена с операндом и занимает это всё 12бит это называеется словом.
NiTr0 писал(а):Кстати, хотел бы я посмотреть, сколько ваш девайс будет стартовать, к примеру, в случае, если машина, записавшая флэшку, заражена вирусом, распространяющимся через файлы автозагрузки ;)
да ещё если всё это будет после конца :))
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

b612 писал(а):у PICов команда соединена с операндом и занимает это всё 12бит это называеется словом.
Где-то в теме есть упоминание о пиках? Потому и переспросил.
b612 писал(а):да ещё если всё это будет после конца :))
Не будет. Куча гадости создается в таком случае при первом же обращении к флэшке. Потому - сначала долго парсятся тела вирусов, после - доходит дело и до вавки...
Контактная информация:
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11

Сообщение b612 »

NiTr0 писал(а):
b612 писал(а):да ещё если всё это будет после конца :))
Не будет. Куча гадости создается в таком случае при первом же обращении к флэшке. Потому - сначала долго парсятся тела вирусов, после - доходит дело и до вавки...
я имел ввиду после конца света :))
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб

Сообщение AI_Disable »

Помогите разобраться с FAT16, застрял в самом начале. Во многих источниках(например, тут) говорится, что по адресам 0x1BE, 0xCE, 0x1DE, 0x1EE должны начинаться описания разделов. Я снял образ с мой отформатированной SD карточки и обнаружил, вместо обещанного, такой бред: "Remove disks or other media. Disk error. Press any key to restart". MBR прилагаю:
Изображение
Вложения
MBR.JPG
(125.8 КБ) 976 скачиваний
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

AI_Disable писал(а):MBR прилагаю]
Это не MBR. Это - бутблок раздела с фат16
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб

Сообщение AI_Disable »

Чёт совсем запутался. Если это не MBR, то где она тогда? И почему указанные мною выше адреса попали на область бутблока?
Контактная информация:
Ответить

Вернуться в «Интеграция с ПК»