-
- Долгоиграющая flash-память тоже хороша, когда на ней какие-то статические данные записаны вроде прошивки, которые читаются много чаще, чем перезаписываются. Но как вы бы решили задачу, если требуется не простыни на флешь писать, а только счетчик Ксения(277 знак., 30.12.2019 17:06)
- Так запись 4байта во флэш на пару-тройку порядков быстрее, чем 4 байта в еепром - aoreh(31.12.2019 07:47)
- Это только касается времени записи, тогда как флэш перед записью требует стирания всего сектора, а еепром этого не требует. - Ксения(31.12.2019 12:22)
- EEPROM не требует отдельной команды стирания перед записью и страница у них обычно поменьше, чем у Serial FLASH, а механизм/процесс записи точно такой же: передали не более одной страницы данных - ждите окончания цикла стирания/записи. - rezident(31.07.2021 12:04)
- Используйте два сектора. Один всегда стерт, во второй пишете по 4
байта последовательно. Как сектор закончился - меняете их местами.
Простейший вариант: пишем один-единственный счетчик, предполагаем,
что он никогда не переполнится (если 32 бита мало - возьмите 64). LightElf(443 знак., 31.07.2021 11:33)
- Лучше все же использовать принцип записей в БД - для каждой записи 1) уникальный ID, 2) данные (значение счетчика) и 3) любой контрольный признак корректности записи. Представьте, что у вас произошел сбой счетчика или сбой при записи счетчика или запланированная коррекция значения - как вы после этого валидную запись найдете только по одному значению? - rezident(31.07.2021 11:39)
- Если подумать, то и суммарно, со стиранием вместе. Не надо это делать "перед записью", делайте это заранее, в свободное время. - aoreh(01.01.2020 00:21)
- Это только касается времени записи, тогда как флэш перед записью требует стирания всего сектора, а еепром этого не требует. - Ксения(31.12.2019 12:22)
- На atmega8 хватает электролита 750мкФ. Успевает записать 16 двойных слов + 16-битное CRC. Примерно с пятикратным запасом (или десятикратным, не помню). - Скрипач(30.12.2019 17:57 - 22:01)
- Аналогично на EFM32PG хватает 47 uF керамики чтобы записать три-четыре сектора по 256 байт, срабатывание от встроенного компаратора питания по снижению питания до 3 вольт (от штатного 3.6) - General(30.07.2021 07:32)
- Дык это же огромная ёмкость! Отродясь такой не видывала. А как оно определяет, что пора начинать писать? - Ксения(30.12.2019 18:33)
- Довольно топорно определяет. Оптрон до DC-DC преобразователя. Нет питания - оптрон погас, прерывание, сматываем удочки, safe loop. Скрипач(109 знак., 30.12.2019 21:57, ссылка)
- Вообще-то в таких случаях обычно пишут во флешь метки времени с какой-то периодичнностью, а не откладывают на последний момент, но тогда флешь быстро износится. - Ксения(30.12.2019 17:51)
- Если вы будете раз в секунду записывать в каждые следующие 4 байта, то 4к сектор продержится ~17минут, умножьте это на 100000 циклов и таких секторов, даже в копеешной флэшке будет точно не один - aoreh(31.12.2019 07:52)
- Подозреваю что четыре байта (метка времени) можно по прерыванию от компаратора успеть записать. От встроенной опоры на питание камня. - Скрипач(30.12.2019 22:17)
- из зала кричат eeram - SciFi(30.12.2019 17:32, ссылка)
- FRAM - mse homjak(31.12.2019 00:25)
- Так запись 4байта во флэш на пару-тройку порядков быстрее, чем 4 байта в еепром - aoreh(31.12.2019 07:47)
- Долгоиграющая flash-память тоже хороша, когда на ней какие-то статические данные записаны вроде прошивки, которые читаются много чаще, чем перезаписываются. Но как вы бы решили задачу, если требуется не простыни на флешь писать, а только счетчик Ксения(277 знак., 30.12.2019 17:06)