Страница 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.
А если уметь продумывать алгоритмы работы и использования данных - кольцевой буфер.
Добавлено 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 ?

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
Я этого не понимаю, как оно может одновременно увеличивать ресурс и писать целыми страницами. В даташите на мой МК не написано про блочную запись, хотя я читал бегло...