mmos 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Карту предполагается подключать к ADSP2185. Писать софт буду на его ассемблере. Вообще возможны варианты. Проблема не в том, какие команды писать, а в том, что эти команды должны делать. Другими словами: проблема не в том, как сгенерирровать сигналы для карточки, а в том, какие это должны быть сигналы. Попробую немного прояснить ситуацию. Карта памяти должна выполнять роль регистратора в измерительном приборе. Запись в неё будет производиться из сигнального процессора. Чтение будет производиться с помощью ПК. Максимальная скорость записи - единицы килобайт в секунду. Максимальное время записи - единицы часов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_man_show 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Есть известный способ обмануть FAT, то есть на РС карточка будет читаться, а внутри железки про файловую систему можно и не знать: 1) на РС форматируется карточка 2) создается пустой файл размером во всю свободную область карточки 3) зная параметры карточки и параметры форматирования, определяем первый физический сектор области данных, который "ляжет" на начало файла 4) в устройстве пишем данные, начиная с известного места 5) если запись данных с прерыванием во времени и с выключением питания, то после запси каждой порции ставим какой-то маркер из двух-четырех и т.п. байт, который сами можем однозначно отличить от данных 6) после завершения работы регистратора карточку устанавливаем в РС, считываем/копируем файл 7) с помощью самодельной специальной программы выуживаем данные Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Есть известный способ обмануть FAT... Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Под ADSP2185 имеется GNU C-compiler. FatFS - компактная и отлаженная библиотека. Для работы с SD достатчно реализовать SPI протокол, хоть даже программно дергая ножками. Ну и пиши себе на здоровье обычные DOS файлы, которые потом можно где угодно обрабатывать стандартными средствами, без изголизмов. Ну а прямо на ассмеблере писать такие вещи - извращение по сегодняшней жизни. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_man_show 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти.... Не вижу связи с написанием программы на асме. Совет был дан в связи с тем, что автор темы впервые услышал не только про файловую систему, но и про работу с флэш-картой, а уж про сложность или простоту реализации ему пока трудно рассуждать. предложенный способ успешно работал (может быть и сейчас трудится) в эксплуатационном "черном ящике" наших вертолетов :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба 2 one_man_show Если чесно я себе не представляю как надо себя не любить, чтоб писать на асме в SD-карту. А если заюзать ваш метод - тогда вообсче мазохизм какой то..... :07: Согласитесь - ну не делают так... Гораздо просче взять http://elm-chan.org/fsw/ff/00index_e.html и заюзать его. Время на разработку в разы сократится.... PS. Чесно прризнаюсь - сам писал на асме для ADSP-21990 но это было года 4 назад и писался хитрый FIR фильтр(там был фильтр, набор данных и выброс в ком вроде/счас интерфейс не вспомню уже), так что я думаю разница понятна... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба Не вижу связи с написанием программы на асме. На АSM писать заметно муторнее, а готовых реализаций именно под ADSP-21xx почти наверняка нет, да и неизбежная подгонка, даже если есть муторное дело. Отпортировать же сишный исходник и собрать с нужными DSP-ешными ASMовскими кусками - без проблем. предложенный способ успешно работал ... Речь идет не о неработоспособности, а о целесообразности поделок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rv3dll 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти.... использование FAT предполагает хранение таблиц постоянно в одном месте. карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день. если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mmos 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба Спасибо всем, что не забываете. Особое спасибо за конструктивные мысли, которые несмотря на постепенное скатывание к словоблудию всё-таки появляются. Про FAT я слышу не впервые, как почему-то показалось. В ассемблере нет ничего мазохистского. И не надо думать, что те, кто программирует не на Коболе, себя совсем не любит (это я Кузмичу). Очень ценно замечание про "раздалбывание" системных областей на SD при использовании FAT. Только ради того, чтобы обратить внимание на этот факт, стоило создавать тему. (Не подумайте, что я зубоскалю - я серьёзно). Интересное совпадение: у меня тоже что-то вроде "чёрного ящика" для летательного аппарата, только не штатного, а технологического на время отработки изделия. Если вы действительно хотите мне помочь, то для меня сейчас самым актуальным вопросом является русскоязычная (по возможности объёмная) информация по использованию SD. Вот в работе с картами памяти я начинающий. Впрочем, принимаются любые идеи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rv3dll 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба принимаются любые идеи. если требуется простое логирование данных то придумать свой стандарт записи файлов без таблици размещения. например 1 сектор SD это 512 байт - если взять его за размер фигурального кластера, то 1 файл будет содержать минимум этот кластер в начале кластера некая шапка (индивидуальная) в ккоторой время всякая чепуха и количество кластеров в файле. попав на первуюже шапку - перескакивая все следующие кластеры файла. ловим вторую и так далее опять же если читать этот лог подрят то перескакивая с файла на файл можно считать это всё на писи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба использование FAT предполагает хранение таблиц постоянно в одном месте. карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день. если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью :07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rv3dll 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба :07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)? сколько кадров Вы сфотографировали? тут же речь идёт о созранении данных -возможно полностью/частично забивая карту десятки раз в день. а во вторых производители флешей всегда рекомендуют писать карту целиком - и только потом стирать, чтобы равномерно использовать всю поверхность. изза такой ненадёжности флеш накопителее и ведутся разработки в области SSD дисков и Феррорам флешей, которые вроде как свободны от этих недостатков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mmos 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба :07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)? Чтобы "раздолбать" флеш-память нужны всё-таки многие тысячи записей в одно и то же место. На это уйдёт не один день. А если это произойдёт через пару дней после завершения гарантийного срока , то производитель изделия только обрадуется. Вот так это всё и "работает". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба думаю надо автору топика в сторону "mass storage" копать B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба .. И не надо думать, что те, кто программирует не на Коболе, себя совсем не любит (это я Кузмичу)... Про такой язык слышу раз 2-й или 3-й ;) и понятия не имею что это вообсче. Просто предложил занятся изучением си, если есчё не знаете - это в дальнейшем сэкономит массу времени вам. 2 rv3dll(lex) - а можно хотя бы приблизительну статистику? Интересно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться