-
- Смысл есть, но писать тогда нужно не по фиксированным адресам, а в кольцевой буфер. Кортежи типа ключ-значение. И, поскольку буфер рано или поздно переполнится -- перезаписанные записи стирать, неперезаписанные -- перезаписывать снова (перемещать fk0(42 знак., 02.11.2016 11:41)
- Кстати, почти в тему. EEPROM ведь тоже не гарантирует завершение записи при выключении. То есть как минимум 2 копии надо хранить, верно? Ну и чем это лучше, чем обычный флеш? - SciFi(02.11.2016 09:24)
- в проектах, где гарантированно нужно сохранять состояние или писать журнал при пропадании питания ставлю буферный электролит (в 2-3т мкф, через шоттку) и с супервизора/компаратора на int0 (если уж совсем сурово нужно). В последнем проекте Adept(594 знак., 02.11.2016 16:11)
- Можно и без компаратора. Берешь
молоток побольшеопорное 1,3в и меряешь относительно Vcc. - Скрипач(02.11.2016 16:19)
- Можно и без компаратора. Берешь
- Именно так, в EEPROM вообще смысла нет. Побайтовость ничем не поможет, когда пишешь long, например. - fk0(02.11.2016 11:39)
- Есть ещё один прикол. Никто не говорит, что будет во флеше, если прервать стирание или запись. Может быть, там случайно совпадут и сигнатуры, и контрольные суммы. Всего пару раз видел (у моторолы) аппаратную функцию проверки целостности флеша. - SciFi(02.11.2016 11:43)
- Мне, на срезе питания, вполне хватает времени выявить и не начинать запись если уже в проблемной зоне. - Скрипач(02.11.2016 09:38)
- ЛАЖА. Сброс может поступить мгновенно. Причин масса. От программных сбоев, до залётных фотонов. И статика ещё. - fk0(02.11.2016 11:38)
- Ужас 8) - Скрипач(02.11.2016 14:04)
- Ферритовые кольца возьмите тогда уж и прошивайте. Или на граните вытесать - ему latch up и статика не страшны точно! Более серьёзно: можно воспользоваться рекомендациями для флеша: писать какие-то минимальные блоки, защищая их контрольной суммой. Dingo(383 знак., 02.11.2016 12:10)
- Сброс не прерывает запись в EEPROM. Ale3000(151 знак., 02.11.2016 11:49)
- Latch up (защёлкивание паразитного тиристора) в чипе -- не прерывает? А запись в регистры EEPROM _после_ сброса -- ничего не портит? - fk0(02.11.2016 11:53)
- Я обычно фюзы StartUp Time делаю максимальными. 64мс, например, запись за это время гарантированно завершится. Ale3000(194 знак., 02.11.2016 12:11)
- Еще в момент сброса потребление тока может резко увеличиться. - fk0(02.11.2016 12:07)
- Latch up (защёлкивание паразитного тиристора) в чипе -- не прерывает? А запись в регистры EEPROM _после_ сброса -- ничего не портит? - fk0(02.11.2016 11:53)
- ЛАЖА. Сброс может поступить мгновенно. Причин масса. От программных сбоев, до залётных фотонов. И статика ещё. - fk0(02.11.2016 11:38)
- Почему две? Три. - Олдфаг(02.11.2016 09:27, )
- в проектах, где гарантированно нужно сохранять состояние или писать журнал при пропадании питания ставлю буферный электролит (в 2-3т мкф, через шоттку) и с супервизора/компаратора на int0 (если уж совсем сурово нужно). В последнем проекте Adept(594 знак., 02.11.2016 16:11)
- В никем (кроме меня :) не любимом КодВижене именно так и сделано "искаропки" - Сидоргек(02.11.2016 09:03)
- У меня обычно другая методика в тех случаях, когда EEPROM хранит какие-то установки по умолчанию. В этом случае при старте программы эти установки копируются в переменные, а при изменении установочных данных копия пишется в EEPROM без проверки на Ксения(721 знак., 02.11.2016 07:43 - 08:29)
- Аналогично. - PlainUser(02.11.2016 10:09)
- У меня - счетчики, как уже сказал. Тут важнее отфильтровать слишком частую запись. Есть каналы с изменениями несколько раз в минуту. Сохраняю раз в два часа. Это ресурс больше 20 лет. Скрипач(229 знак., 02.11.2016 08:33 - 09:19)
- Да собственно есть проторенные пути для хранения счетчиков. Размазывание по памяти (самопально ли как в стм32 есть статья с примером эмуляция еепром); мажорирование конечно; как допзащита Олдфаг(234 знак., 03.11.2016 09:59, )
- А где бы взять формулу или готовую таблицу для генерации сбалансированного кода Грэя? - Petrovich(03.11.2016 11:31, )
- Гм. Очень надо? Тогда Вы или кто-то сделайте божеское дело, до которого у меня многие лета никак руки не дойдут, да и слепой я как крот. Главная книга Дональда Трамп... тьфу Дональда Кнута, том4 выпуск2 стр. 28. Просто сесть и с рисунко 14(б) все Олдфаг(223 знак., 04.11.2016 11:09, )
- Вроде в "Алгоритмических трюках" такая таблица была. - fk0(04.11.2016 15:56)
- Гм. Очень надо? Тогда Вы или кто-то сделайте божеское дело, до которого у меня многие лета никак руки не дойдут, да и слепой я как крот. Главная книга Дональда Трамп... тьфу Дональда Кнута, том4 выпуск2 стр. 28. Просто сесть и с рисунко 14(б) все Олдфаг(223 знак., 04.11.2016 11:09, )
- А где бы взять формулу или готовую таблицу для генерации сбалансированного кода Грэя? - Petrovich(03.11.2016 11:31, )
- Вон там справа EERAM от микрочип. В наличии. Недорого. Считай скока влезет ;) - Гудвин(02.11.2016 09:24)
- Улучшайзинг фтопку. А правильный журнал - это вообще поле граблей. Чем проще - тем надёжнее. - SciFi(02.11.2016 09:22)
- Свой аналог JFFS делается запросто руками. - fk0(02.11.2016 11:43)
- И протестировать все граничные случаи: сбои записи и стирания при выключении питания в любой момент, а случаев этих дофига. Замахаешься. - SciFi(02.11.2016 11:46)
- Заказчики просят :) Радикальная альтернатива - загрузка, после пропадания питания, значений счетчиков в платы назад с сервера. Скрипач(536 знак., 02.11.2016 09:34)
- FRAM рулит. Особенно внутренняя (MSP430FR5969 например) - Vit(02.11.2016 10:18)
- Я склоняюсь к варианту №3. И вообще
забитьничего не хранить на платах. - Скрипач(02.11.2016 14:00)
- Я склоняюсь к варианту №3. И вообще
- FRAM рулит. Особенно внутренняя (MSP430FR5969 например) - Vit(02.11.2016 10:18)
- Свой аналог JFFS делается запросто руками. - fk0(02.11.2016 11:43)
- Да собственно есть проторенные пути для хранения счетчиков. Размазывание по памяти (самопально ли как в стм32 есть статья с примером эмуляция еепром); мажорирование конечно; как допзащита Олдфаг(234 знак., 03.11.2016 09:59, )
- У мну ещё отложенная запись сделана. Если некая настройка изменилась, изменения сохраняются только спустя несколько секунд. Т.е. сохранение делается после того, как человек закончил тыкать кнопки. Ну и перед выключением, если необходимо. - mr-x(02.11.2016 09:10)
- +1 идентично делаю - Aleksey_75(02.11.2016 08:08)
- верный подход. Vit(379 знак., 02.11.2016 08:04 - 08:06)
- Большинство по месту приходится. Особенно если float читать: там может еще крокодилов вроде NaN или Infinity ловить. - Олдфаг(02.11.2016 09:08, )
- думаю да, по крайней мере я как-то сразу сделал процедуру "EEPROM_UPDATE" (проверка перед записью на "то же самое") и пишу только ей. За 15 лет работы с АВРами - никаких проблем с EEPROM (статистику работы своих девайсов пишу в EEPROM всегда, это Adept(28 знак., 02.11.2016 01:44)
- Конечно есть. - Codavr(02.11.2016 00:51 - 01:13)