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

 
 
6 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> stm32 и FatFs от Chan
Hold
сообщение Oct 16 2017, 09:37
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184



Цитата(jcxz @ Oct 13 2017, 22:51) *
У автора, судя из письма, имеется SDRAM. Простое и очевидное решение в этом случае - кеширование по чтению. Тогда описанные Вами проблемы минимизируются.
Кеширование на уровне ниже FatFS.

SDRAM не бесконечна, 64 Мбайта на всё. Там и так крутится кэш(зеркало на чтение) AT45DB641 и нескольких FM25V10, память GUI, куча lwIP и виртуальный диск в FatFs (помимо карточки). Как именно логичнее сделать кэш на чтение с карточки? В случае с небольшой AT45, достаточно хранить полную копию, для максимально быстрого чтения, а вот с задачей кэширования карточки не сталкивался.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Oct 16 2017, 10:00
Сообщение #32


Гуру
******

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



Цитата(Hold @ Oct 16 2017, 11:37) *
Как именно логичнее сделать кэш на чтение с карточки? В случае с небольшой AT45, достаточно хранить полную копию, для максимально быстрого чтения, а вот с задачей кэширования карточки не сталкивался.

Минимум- это копия таблицы FAT. Оптимум- еще и кэш читаемого кластера целиком (а не сектора).
Ну и следующий шаг, что еще кэшировать- зависит от задачи.

Еще подумайте про индексирование- однажды проводится при включении, и очень ускоряет доступ по чтению, то есть у Вас уже есть найденные адреса для быстрого доступа к необходимым данным на диске). Но это уже нужно смотреть конкретную задачу.

Кстати, для AT45 я просто кэшировал в его же второй внутренний буфер RAM, там их два, и использовал их по очереди. Это уже сильно ускоряло процесс доступа.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 16 2017, 10:19
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Hold @ Oct 16 2017, 12:37) *
Как именно логичнее сделать кэш на чтение с карточки?

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

Цитата(Ruslan1 @ Oct 16 2017, 13:00) *
Кстати, для AT45 я просто кэшировал в его же второй внутренний буфер RAM, там их два, и использовал их по очереди. Это уже сильно ускоряло процесс доступа.

Это не кеширование, это стандартный метод доступа к AT45, предусмотренный её интерфейсом.
Go to the top of the page
 
+Quote Post
Hold
сообщение Oct 16 2017, 12:50
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184



На будущее запомню, однако не думаю что сейчас с наскоку решу эту задачку, надо лезть в дебри FatFs, не на один день вдумчивого ковыряния библиотеки. В случае с AT45 я читаю её лишь при включении, всё дальнейшее чтение идёт с кэша в SDRAM, там несложно. Хотя она и так относительно быстро читается, порядка 4 МБ/с при 45мгц клока.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2017, 13:13
Сообщение #35


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Hold @ Oct 16 2017, 12:37) *
Там и так крутится кэш(зеркало на чтение) AT45DB641 и нескольких FM25V10,


Если не секрет, зачем эти все ПЗУшки, если есть СД-карта???
Go to the top of the page
 
+Quote Post
sadat
сообщение Oct 16 2017, 15:08
Сообщение #36


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

Группа: Свой
Сообщений: 117
Регистрация: 6-07-05
Из: Белгород
Пользователь №: 6 575



Цитата(mantech @ Oct 16 2017, 16:13) *
Если не секрет, зачем эти все ПЗУшки, если есть СД-карта???

У ФМ-ки почти бесконечное количество циклов записи...
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2017, 15:25
Сообщение #37


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(sadat @ Oct 16 2017, 18:08) *
У ФМ-ки почти бесконечное количество циклов записи...

А AT45DB641??
Если уж такое дело, то у СД-рама еще больше, если устойство батарейное или есть возможность подключить к ИБП - то никаких доп. ПЗУшек не надо вообще.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 16 2017, 15:36
Сообщение #38


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 16 2017, 13:13) *
Если не секрет, зачем эти все ПЗУшки, если есть СД-карта???

в нашем деле самое главное - контакт
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2017, 16:38
Сообщение #39


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 16 2017, 18:36) *
в нашем деле самое главное - контакт

Хотите сказать, что нельзя поставить надежный холдер?? Или в устройстве вообще нет ни одного разъема? По-моему - бред laughing.gif
Go to the top of the page
 
+Quote Post
Hold
сообщение Oct 16 2017, 17:56
Сообщение #40


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184



На FM25V10 в количестве 4х штук лежит критически важная инфа. Ее повреждение, либо ошибка, равносильно полной неработоспособности аппарата. Ресурс дичайший, если постоянно по кругу писать на максимальной скорости, то порядка 20 или 40 лет(не вспомню сейчас). Питание +3.3 зарезервировано ltc3226+lowESR ионистор типа HS230F. На AT45 часть размечена под ежедневные бэкапы всей FRAM памяти, другая часть под различные настройки, третья под образ текущей прошивки и заводской прошивки, гарантировано рабочей. Оставщаяся часть диск FatFs, который доступен через FTP, на нем лежат последние логи, которые пишутся по кругу, по своей сути -черный ящик, на случай отказа. На SD карту пишутся теже самые логи, с нее возможно обновление ПО( а также по сети со странички, либо через FTP), лежат тяжеловесные файлы. Если карта накроетмя, то логов на AT45 хватит на 2-3 суток, за это время сервис мен успеет поменять карту. Если не успевает, то логи пишутся в виртуалтный диск в SDRAM в 32 мбайта. Может показаться избыточно, поначалу всё было куда проще и понятнее.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2017, 18:21
Сообщение #41


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Hold @ Oct 16 2017, 20:56) *
На FM25V10 в количестве 4х штук лежит критически важная инфа. Ее повреждение, либо ошибка, равносильно полной неработоспособности аппарата.
На AT45 часть размечена под ежедневные бэкапы всей FRAM памяти, другая часть под различные настройки, третья под образ текущей прошивки и заводской прошивки, гарантировано рабочей.
На SD карту пишутся теже самые логи, с нее возможно обновление ПО( а также по сети со странички, либо через FTP), лежат тяжеловесные файлы.
Если не успевает, то логи пишутся в виртуалтный диск в SDRAM в 32 мбайта. Может показаться избыточно, поначалу всё было куда проще и понятнее.


Избыточно?? Это мягко сказано, практически четверное резервирование, это разве, что в космос или в "черный ящик" устанавливать. Только какой резерв, что программа не глюканет - неизвестно...

ЗЫ. Основной лог - на Ф-раме, резервный и с доступом из вне - на СД-карте, буфер в СДРАМ, думаю, этого больше, чем нужно.

Сообщение отредактировал mantech - Oct 16 2017, 18:24
Go to the top of the page
 
+Quote Post
Hold
сообщение Oct 16 2017, 18:36
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184



Лог на sdram особо не в счет - питания нет 3 секунды, ионистор отрубаетмя, и лога тоже нет. А так вполне себе мажоритирование 2 из 3. Бывает и 4 из 5). На фраме не лог, а основная инфа, а логи-все действия извне, чтобы в случае отказа повторить/смоделировать ситуацию и внести правки. Потерять их очень нежелательно. Программа, конечно, может глюкпнуть, вон ракеты падают. Дтскутировать о методах оценки надежности ПО можно долго.

Сообщение отредактировал Hold - Oct 16 2017, 18:42
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 16 2017, 20:23
Сообщение #43


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Hold @ Oct 16 2017, 21:36) *
Лог на sdram особо не в счет - питания нет 3 секунды, ионистор отрубаетмя, и лога тоже нет. А так вполне себе мажоритирование 2 из 3. Бывает и 4 из 5). На фраме не лог, а основная инфа,


Опять-же не понятно, что такое "основная инфа", это то, что задано в конфигурации или эта инфа создается в процессе работы устр-ва? Если первое - то логичнее эту инфу держать на СДшке, если второе - то это то же самое, что и лог.

Из своего опыта - сделана куча автоматов с логом на единственную СД-карту - из сотни один, макс. 2 отказа и то, по причине банальной жадности, рекомендовали ставить "кингстон", а клиенты решили сэкономить и поставили "смартбай" или еще что-то.
В охранках дублирование на 24хх серии i2c епромах - ни одного отказа, даже на г..но картах.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 16 2017, 20:39
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 16 2017, 16:38) *
Хотите сказать, что нельзя поставить надежный холдер??

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


Сообщение отредактировал Огурцов - Oct 16 2017, 20:40
Go to the top of the page
 
+Quote Post
Hold
сообщение Oct 17 2017, 03:58
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184



Цитата(mantech @ Oct 17 2017, 03:23) *
Опять-же не понятно, что такое "основная инфа", это то, что задано в конфигурации или эта инфа создается в процессе работы устр-ва? Если первое - то логичнее эту инфу держать на СДшке, если второе - то это то же самое, что и лог.

Из своего опыта - сделана куча автоматов с логом на единственную СД-карту - из сотни один, макс. 2 отказа и то, по причине банальной жадности, рекомендовали ставить "кингстон", а клиенты решили сэкономить и поставили "смартбай" или еще что-то.
В охранках дублирование на 24хх серии i2c епромах - ни одного отказа, даже на г..но картах.

Основная инфа - данные, которые создаются в процессе работы, проходят сквозь аппарат. За день может пройти до 3-4 Гб. Флеш бы может выдержал какое-то время, но рано или поздно начнутся ошибки.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:10
Рейтинг@Mail.ru


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