Страница 1 из 3

Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 08:29:44
ARV
Существуют ли какие-то готовые библиотеки или хотя бы рабочие заготовки кода Си для повышения ресурсной стойкости встроенной в МК EEPROM?

Теоретически мне всё более-менее понятно, но практическая реализация получается не очень удобной. Может, я туплю, может и в самом деле красиво не возможно...

Главное - только софт-способы, без использования алгоритмов контроля напряжения питания и обновления EEPROM "в последний момент".

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 11:45:23
OKF
А что хранить нужно? Как часто?

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 12:22:00
ARV
Хранить всё подряд, байты, слова, 32-битные числа... В разном количестве и порядке, со случайным доступом.

А как часто, предсказать не могу. От "никогда" до "каждые несколько секунд".

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 13:08:52
OKF
При интенсивной записи, думаю, кольцевой буфер с признаком конца (последней записи). Ну и через update и отдельной записью, без стирания, по возможности.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 13:33:25
Starichok51
без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 13:40:04
jcxz
[uquote="ARV",url="/forum/viewtopic.php?p=4689597#p4689597"]Хранить всё подряд, байты, слова, 32-битные числа... В разном количестве и порядке, со случайным доступом.
А как часто, предсказать не могу. От "никогда" до "каждые несколько секунд".[/uquote]В таком случае только FRAM. :dont_know:
А если уметь продумывать алгоритмы работы и использования данных - кольцевой буфер.

Добавлено after 3 minutes 58 seconds:
[uquote="Starichok51",url="/forum/viewtopic.php?p=4689622#p4689622"]без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись.[/uquote]Стирание/без_стирания - не при чём. Чтобы увеличить ресурс, надо выравнивать износ. И просто так, не думая, с кондачка, этого не сделать. Чтобы не было такого, что одна переменная записалась миллион раз, а другая - только один.
Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 13:49:38
OKF
[uquote="Starichok51",url="/forum/viewtopic.php?p=4689622#p4689622"]без стирания не получится - запись делается с предварительным стиранием...[/uquote]
На старых чипах. Почитай, например мега88.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 16:43:42
Аlex
[uquote="Starichok51",url="/forum/viewtopic.php?p=4689622#p4689622"]запись делается с предварительным стиранием[/uquote]У EEPROM ? :roll:

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 16:54:11
Starichok51
OKF, про мега88 я не знал, так как пользуюсь мега8.
почитал даташит на мега88. стирание и запись даже гораздо быстрее, чем у мега8.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 18:06:11
Вячеслав М.
Да, я тоже на меге 88, 168, пишу и EEPROM_ом пользуюсь, и о стирании ничего не знаю, так пишу, не стирая, только готовность нужно дождаться и сразу запись с предварительной установкой адреса. А сейчас приобретаю мегабитные EEPROM, там пока не знаю, вроде как нужно стирать, ну это не точно, буду изучать.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 18:12:27
shonty
А контроллер не сам все манипуляции проводит? Необходимо участие в стирании?
В LGT (и вроде в XMega-х) тоже обмен страницами с защитой от потери данных. Но это лишь в описании. Пользователю как обычно: жди освободившегося буфера и давай разрешение на запись.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 18:26:29
Вячеслав М.
А что там с LGT, приобрёл по случаю два десятка, ADC понравился, очень быстрый, а что дальше с ним делать не знаю - чем программировать, чем отлаживать, было бы какое то описание по программированию можно было бы сварганить, в общем даташит интересный а применить не могу, ещё прикрылся под брендом AVR, а чёто как то тускло.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 18:40:15
Starichok51
Вячеслав М. писал(а): так пишу, не стирая
ты просто не устанавливаешь биты режима работы EEPROM (остаются равными 00), поэтому у тебя сначала стирается, потом записывается.

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:04:43
shonty
Вячеслав М. писал(а):чем программировать, чем отлаживать,
я на аврасме пишу, компилю avrasm2, программирую usbasp-ом перешитым. Если имеются вопросы - могу ответить.. Только не в этой теме наверное))
Вячеслав М. писал(а):ещё прикрылся под брендом AVR, а чёто как то тускло.
нуу.. у них от АВР только "328" в названии))
"Клоном" её походу ардуинщики окрестили. Ардуино-подобная плата - это клон имеется ввиду.
Вячеслав М. писал(а):приобрёл по случаю два десятка, ADC понравился,
я недавно приобрёл в корпусе QFP48, но ещё не запускал. В QFP48 корпусе отличия в ADC по регистрам есть от QFP32.

Вобщем если интересно, можно пообщаться. Она у меня тоже пока в процессе "изучения" на макетке. Практически не применил ещё. TFT дисплеи на ней конечно летают по сравнению с мегой.

В даташите правда встречаются серьёзные неточности :))) Но тем интереснее))

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:18:55
jcxz
[uquote="shonty",url="/forum/viewtopic.php?p=4689741#p4689741"]нуу.. у них от АВР только "328" в названии))[/uquote]Автор вроде как на ARM-ы переползает. А вы его обратно в блуд AVR тянете. :)))

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:22:57
ARV
[uquote="jcxz",url="/forum/viewtopic.php?p=4689623#p4689623"]Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать.[/uquote]
При чем тут хочется или не хочется думать?! Если из 20 переменных пользователю захочется менять одну, то никакими алгоритмами не выровнять износ этой с остальными 19-ю. И если FRAM нет, то и думать не о чём.

Для кольцевого буфера нужен указатель, который тоже должен быть в EEPROM, и который тоже должен обновляться...

Добавлено after 2 minutes 49 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=4689746#p4689746"][uquote="shonty",url="/forum/viewtopic.php?p=4689741#p4689741"]нуу.. у них от АВР только "328" в названии))[/uquote]Автор вроде как на ARM-ы переползает. А вы его обратно в блуд AVR тянете. :)))[/uquote]правильнее сказать "заползает" :)))
Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены... Пришлось сделать запись, например, float в виде отдельных 4х записей байтов, чтобы данные были "упакованными" :))

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:29:37
shonty
ARV писал(а):Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены...
в lgt также.

сорри за оффтоп)

Добавлено after 2 minutes 5 seconds:
стоп :))) но тогда нужно говорить о ресуре флеша, а не еепром. еепром же заимствованный ))

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:30:56
ARV
В моём МК EEPROM настоящий. STM32L052

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:41:58
shonty
Но запись блочная, постраничная. Сейчас эти современные сильно отличаются от старых.
Вот перевод из китайского ДШ:
СпойлерПоскольку обновление через E2PCTL приведет к замене страниц, замененная страница будет удалена во время процесса замены страниц. Удаление страницы не только требует много времени, но и увеличивает срок службы флэш-памяти. Поэтому E2PCTL добавляет режим непрерывной записи. В режиме непрерывной записи пользователь может непрерывно обновлять область E2PROM.
E2PCTL - это контроллер, который управляет псевдо-еепромом

Re: Снова о ресурсе EEPROM

Добавлено: Вт мар 04, 2025 19:44:21
ARV
Я этого не понимаю, как оно может одновременно увеличивать ресурс и писать целыми страницами. В даташите на мой МК не написано про блочную запись, хотя я читал бегло...