Цитата Сообщение от МИХАИЛ Посмотреть сообщение
Здравствуйте. Примерно 2 месяца тестирую 2 экземпляра ПЛК 100-24-PL.
Возник вопрос. На сколько циклов записи-стирания расчитана флэш-память контроллера. Если ресурс будет исчерпан, что делать дальше.
Спрашиваю потому что несколько раз в день меняю программу, ищу приемлемый вариант. Флешка? это AT45DB321C ?
С уважением Михаил.
Существуют 2 области Flash -
1 - Область, в к-ю записывается код ядра (1-й Мбайт) - 50 тыс. циклов, надеюсь, я столько вариантов прошивок НИКОГДА не сделаю
2 - Собственно Flash-диск. 6000 блоков по 512 байт, каждый блок может быть перезаписан 50 тыс. раз. Файловая система сделана таким образом, чтобы минимизировать лишние акты записи во Flash (только при удалении 1 блок) и использовать блоки равномерно, т.е. обеспечить равное истирание. Т.о. 6000х50000=300 миллионов актов перезаписи (по данным производителя).
При приближении к этому пределу блоки будут поочередно выходить из строя, а файловая система при монтировании детектировать такие блоки по CRC и исключать их из доступной области.
Расчитаем ресурс.
Загрузки программ мы даже рассматривать не будем, т.к. даже 10 тыс. раз поменять программу - большой подвиг, клиент убьёт такого разработчика за катастрофическое затягивание сроков сдачи проекта!
Самый реальный вариант протереть Flash - модуль архиватора или его аналог, написанный самостоятельно.
Пусть запись происходит раз в 5 секунд, причем размер записываемых данных не превышает 512 байт - тогда:
300*10^6 /5 = 60 *10^6 сек ~ 16 тыс. часов ~ 45 лет.
Как говорил Ходжа Нассредин, к тому времени умрет или ишак, или эмир, или сам разработчик...

Конечно, если записывать раз в секунду - 9 лет,
10 раз в секунду - 10 мес. и т.д.

Мораль - не увлекайтесь частой записью...