|
Запись на SD карту |
|
|
|
Aug 12 2008, 08:04
|

Профессионал
    
Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565

|
Цитата(Cyber_RAT @ Aug 12 2008, 11:48)  читайте спецификацию на FAT, или пишите свою файловую систему.... SD-карточка - это просто микросхема памяти с контроллером управления... ...которая позволяет оперировать (писать/читать) блоками по 512 байт задавая номер блока. Ну и другие возможности тоже есть. Цитата(MMos @ Aug 12 2008, 11:57)  Немного расширю вопрос. Есть ли средства читать в ПК с SD информацию, не организованную в файлы? Так же как с винчестера или дискеты - всякими диск докторами и подобными тулзами. После того как карта проинитится и даст возбожность считывать или писать сектора.
|
|
|
|
|
Aug 12 2008, 08:13
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045

|
Цитата(MMos @ Aug 12 2008, 10:57)  Немного расширю вопрос. Есть ли средства читать в ПК с SD информацию, не организованную в файлы? Можно читать и писать при помощи dd for windows.
|
|
|
|
|
Aug 12 2008, 10:11
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(rv3dll(lex) @ Aug 12 2008, 12:45)  winhex +1 хорошая прога! Сам ей пользовался при чтении таблицы fat на карточке. Можно посмотреть что где лежит.. и даже при желании разобраться с таблицей.. :-)
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Aug 12 2008, 13:04
|
Участник

Группа: Свой
Сообщений: 33
Регистрация: 4-11-04
Пользователь №: 1 042

|
Вот реализация FAT32 которая работает на 1к оперативки на любом микроконтроллере http://elm-chan.org/fsw/ff/00index_e.html
|
|
|
|
|
Aug 12 2008, 13:56
|

Помогу, чем смогу
     
Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25

|
Есть известный способ обмануть FAT, то есть на РС карточка будет читаться, а внутри железки про файловую систему можно и не знать: 1) на РС форматируется карточка 2) создается пустой файл размером во всю свободную область карточки 3) зная параметры карточки и параметры форматирования, определяем первый физический сектор области данных, который "ляжет" на начало файла 4) в устройстве пишем данные, начиная с известного места 5) если запись данных с прерыванием во времени и с выключением питания, то после запси каждой порции ставим какой-то маркер из двух-четырех и т.п. байт, который сами можем однозначно отличить от данных 6) после завершения работы регистратора карточку устанавливаем в РС, считываем/копируем файл 7) с помощью самодельной специальной программы выуживаем данные
--------------------
|
|
|
|
|
Aug 12 2008, 14:29
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(one_man_show @ Aug 12 2008, 16:19)  Не вижу связи с написанием программы на асме. На АSM писать заметно муторнее, а готовых реализаций именно под ADSP-21xx почти наверняка нет, да и неизбежная подгонка, даже если есть муторное дело. Отпортировать же сишный исходник и собрать с нужными DSP-ешными ASMовскими кусками - без проблем. Цитата предложенный способ успешно работал ... Речь идет не о неработоспособности, а о целесообразности поделок.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 13 2008, 04:30
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(zltigo @ Aug 12 2008, 18:10)  Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT  . Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти.... использование FAT предполагает хранение таблиц постоянно в одном месте. карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день. если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью
|
|
|
|
|
Aug 13 2008, 06:52
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057

|
Спасибо всем, что не забываете. Особое спасибо за конструктивные мысли, которые несмотря на постепенное скатывание к словоблудию всё-таки появляются. Про FAT я слышу не впервые, как почему-то показалось. В ассемблере нет ничего мазохистского. И не надо думать, что те, кто программирует не на Коболе, себя совсем не любит (это я Кузмичу). Очень ценно замечание про "раздалбывание" системных областей на SD при использовании FAT. Только ради того, чтобы обратить внимание на этот факт, стоило создавать тему. (Не подумайте, что я зубоскалю - я серьёзно). Интересное совпадение: у меня тоже что-то вроде "чёрного ящика" для летательного аппарата, только не штатного, а технологического на время отработки изделия. Если вы действительно хотите мне помочь, то для меня сейчас самым актуальным вопросом является русскоязычная (по возможности объёмная) информация по использованию SD. Вот в работе с картами памяти я начинающий. Впрочем, принимаются любые идеи.
|
|
|
|
|
Aug 13 2008, 07:12
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(MMos @ Aug 13 2008, 10:52)  принимаются любые идеи. если требуется простое логирование данных то придумать свой стандарт записи файлов без таблици размещения. например 1 сектор SD это 512 байт - если взять его за размер фигурального кластера, то 1 файл будет содержать минимум этот кластер в начале кластера некая шапка (индивидуальная) в ккоторой время всякая чепуха и количество кластеров в файле. попав на первуюже шапку - перескакивая все следующие кластеры файла. ловим вторую и так далее опять же если читать этот лог подрят то перескакивая с файла на файл можно считать это всё на писи.
|
|
|
|
|
Aug 13 2008, 07:39
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057

|
Цитата(haker_fox @ Aug 13 2008, 09:14)   А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)? Чтобы "раздолбать" флеш-память нужны всё-таки многие тысячи записей в одно и то же место. На это уйдёт не один день. А если это произойдёт через пару дней после завершения гарантийного срока , то производитель изделия только обрадуется. Вот так это всё и "работает".
|
|
|
|
|
Aug 13 2008, 09:43
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(rv3dll(lex) @ Aug 13 2008, 06:30)  использование FAT предполагает хранение таблиц постоянно в одном месте. карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт Во многих случаях эта проблема эффективно сглаживается введением процедуры отмонтирования и записью FAT при отмонтировании и переходе границы сегмента области FAT. Ничего страшного. Кроме того Автор озвучивал скорости и переодичность записи. Они совершенно не критичны. Цитата(rv3dll(lex) @ Aug 13 2008, 06:30)  При отладке VHDL ядра я собственноручно прибил несколько карт.... Большей частью пооблемы конкретной реализации.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|