-
- +1 за бесперспективность сохранения состояния. У меня, данные которые действительно необходимо сохранить - история значений. Но с ними тривиально, достаточно атаморности работы с таблицей. Cкpипaч(79 знак., 18.12.2022 11:08)
- А у всех более-менее современных Cortex за ~3-20мс можно во
внутреннюю флэш записать сектор -обычно 64 или 256 байт при
потреблении 3-20мА. Достаточно небольшой емкости по питанию чтобы
по BOD или просто по команде несколько раз в этот сектор сбросить
структуру текущего состояния (который хранится в RAM) и даже после
перезагрузки состояние восстановится. - General(17.12.2022 11:06)
- Если данные битые, то нет смысла их сохранять. Только 1 байт, если
хочешь обеспечить до 256 исходных состояний. Если надо больше
состояний - тогда 2 байта :-) - il-2(17.12.2022 11:11)
- Спасибо. Понял про надежду в разных уголках матрицы, авось... В
общем - это почти стандартный метод - обязательно иметь и сохранять
текущую структуру системы, и даже лог событий читаемый при
программном __NVIC_SystemReset(); Эдак и движемся от автоматов к ИИ
встраиваемых систем :) bnb62(210 знак., 18.12.2022 11:53)
- вариант "умного" контроллера
SSDEEPROM, который размазывает ресурс записи по всему массиву EEPROM, опускаем (это отдельная тема вообще-то :) а вот наиболее простой в реализации метод - мажоритарная работа с EEPROM - неплохой вариант (требуется тройной расход памяти) У меня так сделано в наиболее ответственных проектах, где сохранность EEPROM крайне важна. Adept(1761 знак., 18.12.2022 18:46 - 19:13)- Adept, извини, но ты уже третий-четвёртый раз обновляешь свой пост в
полторытыщи символов, это издевательство - найди сотню отличий.
имхо. - m16(18.12.2022 19:33)
- да, там по мелочи всё (сначала по-памяти написал как, потом
уточнил, глянув исходники, потом ошибки/очепятки поправил. Сорри
:(( нужно не обращать внимание :)) суть донесена, в общем-то в
первом варианте :)) - Adept(18.12.2022 19:36)
- не, ты не обижайся. по моим наблюдениям это твоя фишка - несколько
раз править свои многословные посты. к содержанию - никаких
вопросов, просто если хочешь что то добавить то лучше это сделать
ответом на свой пост, имхо. - m16(18.12.2022 19:40)
- И моя тоже. Ну не умею я с первого раза изложить так чтобы все было красиво и точно. А опечатки это просто бич какой-то. - Codavr(23.12.2022 14:22)
- на самом деле лучше сначала
подуматьпроверить, потомсказатьнаписать :)) но мысль бежит впередипаровоза:)) не всегда так получается, но я стараюсь, я исправлюсь :) - Adept(18.12.2022 19:45)
- не, ты не обижайся. по моим наблюдениям это твоя фишка - несколько
раз править свои многословные посты. к содержанию - никаких
вопросов, просто если хочешь что то добавить то лучше это сделать
ответом на свой пост, имхо. - m16(18.12.2022 19:40)
- да, там по мелочи всё (сначала по-памяти написал как, потом
уточнил, глянув исходники, потом ошибки/очепятки поправил. Сорри
:(( нужно не обращать внимание :)) суть донесена, в общем-то в
первом варианте :)) - Adept(18.12.2022 19:36)
- "Процедура Read, - соответственно чтение" Достиг этого утверждения, и чота далее не асилил. :-=) болею насморком, простите. - bnb62(18.12.2022 19:10)
- Adept, извини, но ты уже третий-четвёртый раз обновляешь свой пост в
полторытыщи символов, это издевательство - найди сотню отличий.
имхо. - m16(18.12.2022 19:33)
- вариант "умного" контроллера
- Не у всех приборов состояние можно описать одним байтом. Кроме
того, часто хочется понять причину перезагрузки - General(17.12.2022 11:24)
- практически не вижу вообще вариантов восстановления состояния с
одним байтом :) как правило нужно ещё хранить несколько параметров
и текущих состояний периферии, к примеру. Если нужно максимально
надёжно восстанавливать состояние устройства после сбоя. то это
делается на уровне особенной организации структуры программы, и
конечно Adept(933 знак., 18.12.2022 01:37)
- Одну, кмк, умную мысль скажу :-) надо запоминать не несколько копий
последнего состояния, а несколько последних состояний. - LightElf(18.12.2022 15:35)
- Ну да, намерения ветвления... :) - bnb62(18.12.2022 16:51)
- ну дык энто ещё более "усугубляет", так сказать :)) - Adept(18.12.2022 18:02)
- Ну да, намерения ветвления... :) - bnb62(18.12.2022 16:51)
- Одну, кмк, умную мысль скажу :-) надо запоминать не несколько копий
последнего состояния, а несколько последних состояний. - LightElf(18.12.2022 15:35)
- практически не вижу вообще вариантов восстановления состояния с
одним байтом :) как правило нужно ещё хранить несколько параметров
и текущих состояний периферии, к примеру. Если нужно максимально
надёжно восстанавливать состояние устройства после сбоя. то это
делается на уровне особенной организации структуры программы, и
конечно Adept(933 знак., 18.12.2022 01:37)
- Спасибо. Понял про надежду в разных уголках матрицы, авось... В
общем - это почти стандартный метод - обязательно иметь и сохранять
текущую структуру системы, и даже лог событий читаемый при
программном __NVIC_SystemReset(); Эдак и движемся от автоматов к ИИ
встраиваемых систем :) bnb62(210 знак., 18.12.2022 11:53)
- Если данные битые, то нет смысла их сохранять. Только 1 байт, если
хочешь обеспечить до 256 исходных состояний. Если надо больше
состояний - тогда 2 байта :-) - il-2(17.12.2022 11:11)