реклама на сайте
подробности

 
 
> Запись на SD карту
MMos
сообщение Aug 12 2008, 06:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057



Почитал спецификации SD. Но как создавать файл не нашёл. Подскажите, куда двигаться. Может есть какие-то ссылки.
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
MMos
сообщение Aug 12 2008, 13:25
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057



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

Попробую немного прояснить ситуацию. Карта памяти должна выполнять роль регистратора в измерительном приборе. Запись в неё будет производиться из сигнального процессора. Чтение будет производиться с помощью ПК. Максимальная скорость записи - единицы килобайт в секунду. Максимальное время записи - единицы часов.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Aug 12 2008, 13:56
Сообщение #17


Помогу, чем смогу
******

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



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


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 12 2008, 14:10
Сообщение #18


Гуру
******

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



Цитата(one_man_show @ Aug 12 2008, 15:56) *
Есть известный способ обмануть FAT...

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 12 2008, 14:10
Сообщение #19


Профессионал
*****

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



Под ADSP2185 имеется GNU C-compiler. FatFS - компактная и отлаженная библиотека. Для работы с SD достатчно реализовать SPI протокол, хоть даже программно дергая ножками. Ну и пиши себе на здоровье обычные DOS файлы, которые потом можно где угодно обрабатывать стандартными средствами, без изголизмов. Ну а прямо на ассмеблере писать такие вещи - извращение по сегодняшней жизни.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Aug 12 2008, 14:19
Сообщение #20


Помогу, чем смогу
******

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



Цитата(zltigo @ Aug 12 2008, 18:10) *
Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT smile.gif. Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти....

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


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 12 2008, 14:21
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 one_man_show
Если чесно я себе не представляю как надо себя не любить, чтоб писать на асме в SD-карту. А если заюзать ваш метод - тогда вообсче мазохизм какой то..... 07.gif
Согласитесь - ну не делают так... Гораздо просче взять http://elm-chan.org/fsw/ff/00index_e.html и заюзать его. Время на разработку в разы сократится....

PS.
Чесно прризнаюсь - сам писал на асме для ADSP-21990 но это было года 4 назад и писался хитрый FIR фильтр(там был фильтр, набор данных и выброс в ком вроде/счас интерфейс не вспомню уже), так что я думаю разница понятна... smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 12 2008, 14:29
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Aug 13 2008, 04:30
Сообщение #23


Полное ничтожество
*****

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



Цитата(zltigo @ Aug 12 2008, 18:10) *
Только для этого прежде надо обмануть самого себя - решить писать на ASM и упорно не пользоватся многочисленными реализациями FAT smile.gif. Ведь на самом деле в FAT совершенно ничего сложного и ресурсоемкого нет - спокойно, штатно использовался на IBM-PC/XT с 4,7MHz процессором с 16K памяти....


использование FAT предполагает хранение таблиц постоянно в одном месте.
карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день.
если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью
Go to the top of the page
 
+Quote Post
MMos
сообщение Aug 13 2008, 06:52
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057



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


Полное ничтожество
*****

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



Цитата(MMos @ Aug 13 2008, 10:52) *
принимаются любые идеи.


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

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

опять же если читать этот лог подрят то перескакивая с файла на файл можно считать это всё на писи.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 13 2008, 07:14
Сообщение #26


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(rv3dll(lex) @ Aug 13 2008, 13:30) *
использование FAT предполагает хранение таблиц постоянно в одном месте.
карточка быстро помрёт, причём не вся а начальная область. Это не предположение - это факт. При отладке VHDL ядра я собственноручно прибил несколько карт записью в начальную область ее памяти несколько тысячь раз в день.
если нужно хранить данные то лучше создать свою примитивную систему с последовательной записью

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


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Aug 13 2008, 07:28
Сообщение #27


Полное ничтожество
*****

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



Цитата(haker_fox @ Aug 13 2008, 11:14) *
07.gif А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)?


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

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

изза такой ненадёжности флеш накопителее и ведутся разработки в области SSD дисков и Феррорам флешей, которые вроде как свободны от этих недостатков.
Go to the top of the page
 
+Quote Post
MMos
сообщение Aug 13 2008, 07:39
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-12-07
Пользователь №: 33 057



Цитата(haker_fox @ Aug 13 2008, 09:14) *
07.gif А как же они работают в мультимедийной технике (фотоаппараты, плееры и тп)?

Чтобы "раздолбать" флеш-память нужны всё-таки многие тысячи записей в одно и то же место. На это уйдёт не один день. А если это произойдёт через пару дней после завершения гарантийного срока , то производитель изделия только обрадуется. Вот так это всё и "работает".
Go to the top of the page
 
+Quote Post
andron86
сообщение Aug 13 2008, 07:40
Сообщение #29


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



думаю надо автору топика в сторону "mass storage" копать cool.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 13 2008, 07:44
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(MMos @ Aug 13 2008, 09:52) *
.. И не надо думать, что те, кто программирует не на Коболе, себя совсем не любит (это я Кузмичу)...


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


2 rv3dll(lex) - а можно хотя бы приблизительну статистику? Интересно
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 14:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01503 секунд с 7
ELECTRONIX ©2004-2016