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

 
 
> Файловая система + не СД карта
berkl
сообщение Dec 14 2012, 10:40
Сообщение #1


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

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Приветствую парни!

Вот такой вопрос. У меня плата с процом ПИК24/дсПИК33. Плата должна вести лог файл, новая запись заносится в лог раз в минуту, размер одной записи 150-200 байт. Лог пишется неделю, круглосуточно, по кольцу. Одни сутки - один лог файл, всего получается не более 7ми файлов. Длина имени не имеет значения. Требуется передача лог файлов по ФТП, когда этого захочет удаленный хост. Общий размер памяти требуемый под лог получается грубо, 2 Мегабайта. У меня в принципе всё есть уже, но для работы с СД картой.

Понятно что СД карта - многовато будет для данной задачи, стоимость сд карты+холдер для неё - дороговато, и главное - температурный диапазон. Надо чтоб от -25 хотя бы было. Сразу возникает решение использовать какую нибудь восьми ножковую последовательную флешку, на 64Mbit, к примеру. Но возникает вопрос о файловой системе которая сможет работать с такой памятью. Вот собственно вопрос: был ли у кого опыт с подобными штуками (serial flash + FAT16/32) ?
Может ли FAT16/32 жить на таких флешках вообще?

Саму по себе ФАТ думаю взять у этого товарища http://elm-chan.org/fsw/ff/00index_e.html , добавив низкоуровневые функции доступа к флеши. Та ФАТ что у меня сейчас - это библиотека встроенная в компилятор (МикроСи ПРО для дсПИК), работает исключительно с SD/MMC/CF картами.

Буду благодарен за любую информацию

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение Dec 15 2012, 00:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Именно так. Сектора перестанут стираться. Мы некоторое время назад пытались найти файловую систему, которая снаружи смотрелась как FAT, а внутри не писала бы в одни и те же сектора - не смогли. Пришлось писать свою. Долго и очень печально. Памяти она оперативной жрет жуткую прорву (мы, правда, под NAND делали, это еще хуже - там сектора большие и еще дополнительные ограничения есть).
Go to the top of the page
 
+Quote Post
berkl
сообщение Dec 15 2012, 06:37
Сообщение #3


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

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата(Alex11 @ Dec 15 2012, 04:36) *
Именно так. Сектора перестанут стираться. Мы некоторое время назад пытались найти файловую систему, которая снаружи смотрелась как FAT, а внутри не писала бы в одни и те же сектора - не смогли. Пришлось писать свою. Долго и очень печально. Памяти она оперативной жрет жуткую прорву (мы, правда, под NAND делали, это еще хуже - там сектора большие и еще дополнительные ограничения есть).


Весьма ценный пост, благодарю. Да, не весело прямо скажем. Ладно, значит поставим ОЗУшку. Батарейка (таблетка) на плате всёравно предусмотрена для часиков. Прилеплю супервизор какой-нибудь и буду на случай обрыва питания усыплять проц, а всё остальное, кроме ОЗУ, отключать наглухо.


Удачи!
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 15 2012, 13:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



У майкрочипа есть чудесный аппнот на тему "USB Device - Mass Storage - Internal Flash". Они организуют нормально видимый снаружи диск прямо в флеш-памяти программ микроконтроллера, очень изящно. Это в составе "microchip-application-libraries" пакета, сейчас его архив около 200 МБ.
Это тот самый нижний уровень (организация секторов и доступа к ним). Идея очень красивая, да и реализация неплоха. Я, опираясь на данный аппнот, сделал нужный мне сервис с внешней флэшкой. Уж не скажу сколько от оригинального текста осталось, но началось именно с этого sm.gif

Цитата(Alex11 @ Dec 15 2012, 02:36) *
Именно так. Сектора перестанут стираться. Мы некоторое время назад пытались найти файловую систему, которая снаружи смотрелась как FAT, а внутри не писала бы в одни и те же сектора - не смогли. Пришлось писать свою. Долго и очень печально. Памяти она оперативной жрет жуткую прорву (мы, правда, под NAND делали, это еще хуже - там сектора большие и еще дополнительные ограничения есть).

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

Цитата(berkl @ Dec 15 2012, 08:37) *
Ладно, значит поставим ОЗУшку. Батарейка (таблетка) на плате всёравно предусмотрена для часиков. Прилеплю супервизор какой-нибудь и буду на случай обрыва питания усыплять проц, а всё остальное, кроме ОЗУ, отключать наглухо.

Несколько нерационально, если Вы хотите то, о чем спрашивали вначале (известная до начала проектирования структура "диска"). Достаточно хранить данные как Вам удобно, а запросы на доступ извне (посекторный доступ, в том числе и доступ к служебным секторам FAT) обрабатывать специальным образом.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 15 2012, 14:04
Сообщение #5


Гуру
******

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



Цитата(Ruslan1 @ Dec 15 2012, 17:25) *
Достаточно хранить данные как Вам удобно, а запросы на доступ извне (посекторный доступ, в том числе и доступ к служебным секторам FAT) обрабатывать специальным образом.

Как-то все упустили вводные из первого поста: данные выкачиваются через FTP, соответственно, никакого "посекторного доступа" и не требуется.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- berkl   Файловая система + не СД карта   Dec 14 2012, 10:40
- - evc   Файловая система из-за 7-ми записей? Боже, куда ка...   Dec 14 2012, 11:55
- - МП41   А при обработке команд от хоста можно имитировать ...   Dec 14 2012, 12:12
- - berkl   Цитата(evc @ Dec 14 2012, 15:55) Файловая...   Dec 14 2012, 12:57
|- - evc   Цитата(berkl @ Dec 14 2012, 16:57) ...Но ...   Dec 14 2012, 13:57
- - Alex11   Кроме того, как только Вы сделаете FAT, сразу прид...   Dec 14 2012, 14:46
- - berkl   Цитата(evc @ Dec 14 2012, 17:57) Мда. Теп...   Dec 14 2012, 18:52
- - Croman13n3c   Количество перезаписи секторов ограничено. Каждая ...   Dec 14 2012, 19:15
- - berkl   Цитата(Croman13n3c @ Dec 14 2012, 23:15) ...   Dec 14 2012, 20:47
- - Croman13n3c   Имеем FAT12 : 1. 0 сектор - MBR 2. 1-18 се...   Dec 17 2012, 11:50
|- - Ruslan1   Цитата(Croman13n3c @ Dec 17 2012, 13:50) ...   Dec 17 2012, 18:13
- - Alex11   Это уж как операционке заблагорассудится.   Dec 17 2012, 14:05
- - SyncLair   FAT не самая удачная система под вашу задачу ибо о...   Dec 19 2012, 00:06
- - wangan   Ставь MRAM (максимально что есть эт 4MB MR25H40) о...   Dec 19 2012, 09:08


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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 07:38
Рейтинг@Mail.ru


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