roboforum.ru

Технический форум по робототехнике.


Fat на at25W4096

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Fat на at25W4096

Сообщение grek » 22 авг 2011, 16:08

Подскажите как на микросхему at25W4096 записать файловую систему ФАТ16/32,что бы ее возможно было использовать вместо MMC карты памяти? Хотелось бы программатором прошить прошивку в нее. Как можно это сделать? Или где можно доходчиво прочитать по данному вопросу.
grek
 
Сообщения: 159
Зарегистрирован: 16 сен 2009, 15:41
Откуда: Арзамас

Re: Fat на at25W4096

Сообщение RootAdmin » 23 авг 2011, 14:13

Хм. Ну и вопросик... Образ fat диска любого размера я сделаю в 10 секунд. А каким образом флешку содключать собираетесь?
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Fat на at25W4096

Сообщение grek » 23 авг 2011, 14:31

У меня собрана на MMC карте по SPI интрефейсу. Надо вместо нее использовать данный флеш носитель.Он работает тоже на SPI.То есть с карты читается определенный файл с определенным путем.И хотелось бы тоже сделать так же,но чтоб носитель был припаян.И работал до -40.И хотелось бы что на флешки была файловая система.Вообще возможно это организовать?
grek
 
Сообщения: 159
Зарегистрирован: 16 сен 2009, 15:41
Откуда: Арзамас

Re: Fat на at25W4096

Сообщение grek » 23 авг 2011, 18:34

Может я вопрос неправильно толкую.Как мне сделать hex файл и с помощью программатора записать на flash микросхему.Что бы после ее программирования у меня в ней содержался ФАТ32 со всеми своими данными(кластерами). И например файл,к который я мог бы прочитать микроконтроллером с путем 0:/7.wav и работать с этой памятью микроконтроллером по SPI как с логическими дисками.
grek
 
Сообщения: 159
Зарегистрирован: 16 сен 2009, 15:41
Откуда: Арзамас

Re: Fat на at25W4096

Сообщение HarryStar » 24 авг 2011, 00:13

Можно сделать через Ж.
Подключить одновременно ММС и вашу микруху. Читать и писать байт в байт. А потом пользоваться уже микросхемой.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Fat на at25W4096

Сообщение Michael_K » 24 авг 2011, 00:50

не советуйте фигню.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Fat на at25W4096

Сообщение HarryStar » 24 авг 2011, 10:43

Фигня не фигня, а нормальный способ для осуществления того, что хочет ТС. По крайней мере никто ничего другого не предложил.
Я бы сделал не так. Фат16/32 на конечной микросхеме флеша вовсе не нужен. Это лишние затраты памяти и ресурсов МК при работе с ней. Если там бы стояла ММС, которую можно вынуть и обновить содержимое - это было бы оправдано. А так нет.

Например вам надо 10 файлов.
- Записываете их на ММС карту
- подключаете как я уже говорил ММС и микросхему флеша к МК
- Читаете файл 1 (лучше сразу голосовые данные без заголовка) и пишете их во флеш. записываете где в памяти хранится этот файл (например с 0 по 15644 байта)
- Повторяете процесс дальше (данные из следующего файла будут расположены наприемр с 15645 по 65331)
- У вас готова запрограммированная микросхема флеша со звуками.

При использовании используйте таблицу вида:
Звук 1 с 0 по 15644
Звук 2 с 15645 по 65331
и т.д.

Можно сделать свой мини фат, записав эту таблицу в начало (или в конец) флеша. Я использую в подобных случаях записи длиной 16 байт: 2 байта адрес начала, 2 байта длина, и 12 байт имя "файла". Конец минифата - 16 нулей. При этом элементарно написать функцию доступа к файлам по имени. Я так организовывал в свое время хранение звуков в ЕЕПРОМе.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Fat на at25W4096

Сообщение grek » 24 авг 2011, 21:27

Я хочу все таки записать начальные данные FAT32 вытащив из флешки с помощью winhex.А записывать данные и просто читать их без путей, пока это не интересно.Хотелось бы все таки организовать FAT32, и я ни думаю, что это невозможно.Ведь контроллеру по сути все равно какая память применена лишь бы была организована фат на ней, и он ее видел.
grek
 
Сообщения: 159
Зарегистрирован: 16 сен 2009, 15:41
Откуда: Арзамас

Re: Fat на at25W4096

Сообщение Michael_K » 24 авг 2011, 23:18

HarryStar писал(а):По крайней мере никто ничего другого не предложил.

Потому что grek выражается крайне путано. Очевидно сам плохо понимает, что нужно для решения его задачи.

grek писал(а):...на микросхему at25W4096...

И гугль и яндекс это буквосочетание находят в одном единственном месте. Угадайте где?

В теме полно перлов:
grek писал(а):Он работает тоже на SPI.То есть с карты читается определенный файл с определенным путем.

grek писал(а):работать с этой памятью микроконтроллером по SPI как с логическими дисками.

grek писал(а):Ведь контроллеру по сути все равно какая память применена лишь бы была организована фат на ней, и он ее видел.


Всякие такие приколы (или проколы) говорят о крайне низком уровне понимания темы (я уже молчу о грамматике - тут видимо принято так). Если ему что-то начать советовать, то ему придется прочитать целый курс про интерфейсы, протоколы и организацию дисков.
И это в лучшем случае, ведь может оказаться, что начать придется совсем с азов.

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

grek писал(а):Или где можно доходчиво прочитать по данному вопросу.

Вы, конечно, извините, но "по этому вопросу" вам читать рановато, по-моему.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Fat на at25W4096

Сообщение HarryStar » 25 авг 2011, 08:01

Ну я так понял, что он имеет в виду следующее:
У него есть готовый модуль, работающий с ММС-картой (на которой фат16/32)
На нем записано несколько файлов (звуковых, но не суть важно)
Но по разным причинам ему это решение не подходит. В частности по морозоустойчивости например.
Поэтому он хочет заменить ММС на микросхему (возможно он ошибся в названии, но очевидно имеется в виду флеш-память, работающая через SPI).

А т.к. и ММС и его микросхема работает через SPI он хочет поменять их БЕЗ ИЗМЕНЕНИЯ КОДА. И поэтому ему надо сделать клон ММС-карты в виде его флеш-микросхемы.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: Fat на at25W4096

Сообщение grek » 25 авг 2011, 08:52

HarryStar , все так и есть.Прямо в точку.И главное это морозоустойчивасть.
grek
 
Сообщения: 159
Зарегистрирован: 16 сен 2009, 15:41
Откуда: Арзамас

Re: Fat на at25W4096

Сообщение Michael_K » 25 авг 2011, 10:15

HarryStar писал(а):А т.к. и ММС и его микросхема работает через SPI он хочет поменять их БЕЗ ИЗМЕНЕНИЯ КОДА.

Вот в этом и проблема!
Вместо того, чтобы хоть немножко разобраться и понять, что это невозможно,
он задает детские вопросы "как мне с помощью програматора запрограммировать..."

"как мне с помощью паяльника спаять", "как мне с помощью кусачек кусать" и "как мне с помощью винта привинтить"...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Fat на at25W4096

Сообщение boez » 25 авг 2011, 11:32

grek, тебе просто все пытаются сказать, что spi - это просто такие три проводка и два сдвиговых регистра, и все :) Он умеет передавать только байты и ничего более. А дальше идет протокол обмена, и он даже у разных SPI Flash микросхем разный, а у mmc вообще совсем не похож.

Как идет работа с sd/mms:

(драйвер FS)
--- тут запросы типа "прочесть сектор N", "записать сектор N", без учета специфики flash
(драйвер протокола SD/MMC)
--- тут байты, которые надо передать/принять по SPI
(драйвер SPI)
(железяка SPI)
-------------------тут заканчивается МК и начинается SD/MMC карта, в которой свой контроллер сидит
(железяка SPI)
(драйвер SPI)
(протокол SD/MMC)
--- тут запросы типа "прочесть сектор N", "записать сектор N", без учета специфики flash
(драйвер флеш-памяти)
--- тут запросы типа "прочесть сектор N", "записать сектор N", "стереть сектор N",c учетом специфики flash-памяти, т.е. защита от износа ячеек и т.п.
(железяка флеш-памяти)

А вот как идет работа с spi flash:

(драйвер FS)
--- тут запросы типа "прочесть сектор N", "записать сектор N", без учета специфики flash
(драйвер флеш-памяти)
--- тут запросы типа "прочесть сектор N", "записать сектор N", "стереть сектор N",c учетом специфики flash-памяти, т.е. защита от износа ячеек и т.п.
(драйвер протокола spi flash)
--- тут байты, которые надо передать/принять по SPI
(драйвер SPI)
(железяка SPI)
-------------------тут заканчивается МК и начинается spi flash
(железяка флеш-памяти+spi)

Ну вот как-то так, дальше копай гугл, там все подробности есть :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Fat на at25W4096

Сообщение HarryStar » 25 авг 2011, 13:05

Мне кажется простейшее решение этой проблемы - термобокс, поддерживающий заданную температуру, например не ниже +5 градусов.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32