Перейти к содержанию
    

Карту предполагается подключать к ADSP2185. Писать софт буду на его ассемблере. Вообще возможны варианты. Проблема не в том, какие команды писать, а в том, что эти команды должны делать. Другими словами: проблема не в том, как сгенерирровать сигналы для карточки, а в том, какие это должны быть сигналы.

 

Попробую немного прояснить ситуацию. Карта памяти должна выполнять роль регистратора в измерительном приборе. Запись в неё будет производиться из сигнального процессора. Чтение будет производиться с помощью ПК. Максимальная скорость записи - единицы килобайт в секунду. Максимальное время записи - единицы часов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть известный способ обмануть FAT, то есть на РС карточка будет читаться, а внутри железки про файловую систему можно и не знать:

1) на РС форматируется карточка

2) создается пустой файл размером во всю свободную область карточки

3) зная параметры карточки и параметры форматирования, определяем первый физический сектор области данных, который "ляжет" на начало файла

4) в устройстве пишем данные, начиная с известного места

5) если запись данных с прерыванием во времени и с выключением питания, то после запси каждой порции ставим какой-то маркер из двух-четырех и т.п. байт, который сами можем однозначно отличить от данных

6) после завершения работы регистратора карточку устанавливаем в РС, считываем/копируем файл

7) с помощью самодельной специальной программы выуживаем данные

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть известный способ обмануть FAT...

Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Под ADSP2185 имеется GNU C-compiler. FatFS - компактная и отлаженная библиотека. Для работы с SD достатчно реализовать SPI протокол, хоть даже программно дергая ножками. Ну и пиши себе на здоровье обычные DOS файлы, которые потом можно где угодно обрабатывать стандартными средствами, без изголизмов. Ну а прямо на ассмеблере писать такие вещи - извращение по сегодняшней жизни.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти....

Не вижу связи с написанием программы на асме. Совет был дан в связи с тем, что автор темы впервые услышал не только про файловую систему, но и про работу с флэш-картой, а уж про сложность или простоту реализации ему пока трудно рассуждать. предложенный способ успешно работал (может быть и сейчас трудится) в эксплуатационном "черном ящике" наших вертолетов :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 one_man_show

Если чесно я себе не представляю как надо себя не любить, чтоб писать на асме в SD-карту. А если заюзать ваш метод - тогда вообсче мазохизм какой то..... :07:

Согласитесь - ну не делают так... Гораздо просче взять http://elm-chan.org/fsw/ff/00index_e.html и заюзать его. Время на разработку в разы сократится....

 

PS.

Чесно прризнаюсь - сам писал на асме для ADSP-21990 но это было года 4 назад и писался хитрый FIR фильтр(там был фильтр, набор данных и выброс в ком вроде/счас интерфейс не вспомню уже), так что я думаю разница понятна... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не вижу связи с написанием программы на асме.

На АSM писать заметно муторнее, а готовых реализаций именно под ADSP-21xx почти наверняка нет, да и неизбежная подгонка, даже если есть муторное дело.

Отпортировать же сишный исходник и собрать с нужными DSP-ешными ASMовскими кусками - без проблем.

предложенный способ успешно работал ...

Речь идет не о неработоспособности, а о целесообразности поделок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT :). Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти....

 

использование FAT предполагает хранение таблиц постоянно в одном месте.

карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день.

если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

принимаются любые идеи.

 

если требуется простое логирование данных то придумать свой стандарт записи файлов без таблици размещения.

 

например 1 сектор SD это 512 байт -

если взять его за размер фигурального кластера, то 1 файл будет содержать минимум этот кластер

в начале кластера некая шапка (индивидуальная) в ккоторой время всякая чепуха и количество кластеров в файле. попав на первуюже шапку - перескакивая все следующие кластеры файла. ловим вторую и так далее

 

опять же если читать этот лог подрят то перескакивая с файла на файл можно считать это всё на писи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

использование FAT предполагает хранение таблиц постоянно в одном месте.

карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день.

если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью

:07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)?

 

сколько кадров Вы сфотографировали? тут же речь идёт о созранении данных -возможно полностью/частично забивая карту десятки раз в день.

 

а во вторых производители флешей всегда рекомендуют писать карту целиком - и только потом стирать, чтобы равномерно использовать всю поверхность.

 

изза такой ненадёжности флеш накопителее и ведутся разработки в области SSD дисков и Феррорам флешей, которые вроде как свободны от этих недостатков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:07: А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)?

Чтобы "раздолбать" флеш-память нужны всё-таки многие тысячи записей в одно и то же место. На это уйдёт не один день. А если это произойдёт через пару дней после завершения гарантийного срока , то производитель изделия только обрадуется. Вот так это всё и "работает".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. И не надо думать, что те, кто программирует не на Коболе, себя совсем не любит (это я Кузмичу)...

 

Про такой язык слышу раз 2-й или 3-й ;) и понятия не имею что это вообсче.

Просто предложил занятся изучением си, если есчё не знаете - это в дальнейшем сэкономит массу времени вам.

 

 

2 rv3dll(lex) - а можно хотя бы приблизительну статистику? Интересно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...