Форум РадиоКот https://radiokot.ru/forum/ |
|
Снова о ресурсе EEPROM https://radiokot.ru/forum/viewtopic.php?f=62&t=197031 |
Страница 1 из 3 |
Автор: | ARV [ Вт мар 04, 2025 08:29:44 ] |
Заголовок сообщения: | Снова о ресурсе EEPROM |
Существуют ли какие-то готовые библиотеки или хотя бы рабочие заготовки кода Си для повышения ресурсной стойкости встроенной в МК EEPROM? Теоретически мне всё более-менее понятно, но практическая реализация получается не очень удобной. Может, я туплю, может и в самом деле красиво не возможно... Главное - только софт-способы, без использования алгоритмов контроля напряжения питания и обновления EEPROM "в последний момент". |
Автор: | OKF [ Вт мар 04, 2025 11:45:23 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
А что хранить нужно? Как часто? |
Автор: | ARV [ Вт мар 04, 2025 12:22:00 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Хранить всё подряд, байты, слова, 32-битные числа... В разном количестве и порядке, со случайным доступом. А как часто, предсказать не могу. От "никогда" до "каждые несколько секунд". |
Автор: | OKF [ Вт мар 04, 2025 13:08:52 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
При интенсивной записи, думаю, кольцевой буфер с признаком конца (последней записи). Ну и через update и отдельной записью, без стирания, по возможности. |
Автор: | Starichok51 [ Вт мар 04, 2025 13:33:25 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись. |
Автор: | jcxz [ Вт мар 04, 2025 13:40:04 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Хранить всё подряд, байты, слова, 32-битные числа... В разном количестве и порядке, со случайным доступом. В таком случае только FRAM. А как часто, предсказать не могу. От "никогда" до "каждые несколько секунд". ![]() А если уметь продумывать алгоритмы работы и использования данных - кольцевой буфер. Добавлено after 3 minutes 58 seconds: без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись. Стирание/без_стирания - не при чём. Чтобы увеличить ресурс, надо выравнивать износ. И просто так, не думая, с кондачка, этого не сделать. Чтобы не было такого, что одна переменная записалась миллион раз, а другая - только один.Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать. |
Автор: | OKF [ Вт мар 04, 2025 13:49:38 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
без стирания не получится - запись делается с предварительным стиранием... На старых чипах. Почитай, например мега88. |
Автор: | Аlex [ Вт мар 04, 2025 16:43:42 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
запись делается с предварительным стиранием У EEPROM ? ![]() |
Автор: | Starichok51 [ Вт мар 04, 2025 16:54:11 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
OKF, про мега88 я не знал, так как пользуюсь мега8. почитал даташит на мега88. стирание и запись даже гораздо быстрее, чем у мега8. |
Автор: | Вячеслав М. [ Вт мар 04, 2025 18:06:11 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Да, я тоже на меге 88, 168, пишу и EEPROM_ом пользуюсь, и о стирании ничего не знаю, так пишу, не стирая, только готовность нужно дождаться и сразу запись с предварительной установкой адреса. А сейчас приобретаю мегабитные EEPROM, там пока не знаю, вроде как нужно стирать, ну это не точно, буду изучать. |
Автор: | shonty [ Вт мар 04, 2025 18:12:27 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
А контроллер не сам все манипуляции проводит? Необходимо участие в стирании? В LGT (и вроде в XMega-х) тоже обмен страницами с защитой от потери данных. Но это лишь в описании. Пользователю как обычно: жди освободившегося буфера и давай разрешение на запись. |
Автор: | Вячеслав М. [ Вт мар 04, 2025 18:26:29 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
А что там с LGT, приобрёл по случаю два десятка, ADC понравился, очень быстрый, а что дальше с ним делать не знаю - чем программировать, чем отлаживать, было бы какое то описание по программированию можно было бы сварганить, в общем даташит интересный а применить не могу, ещё прикрылся под брендом AVR, а чёто как то тускло. |
Автор: | Starichok51 [ Вт мар 04, 2025 18:40:15 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Вячеслав М. писал(а): так пишу, не стирая ты просто не устанавливаешь биты режима работы EEPROM (остаются равными 00), поэтому у тебя сначала стирается, потом записывается.
|
Автор: | shonty [ Вт мар 04, 2025 19:04:43 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Вячеслав М. писал(а): чем программировать, чем отлаживать, я на аврасме пишу, компилю avrasm2, программирую usbasp-ом перешитым. Если имеются вопросы - могу ответить.. Только не в этой теме наверное))Вячеслав М. писал(а): ещё прикрылся под брендом AVR, а чёто как то тускло. нуу.. у них от АВР только "328" в названии))"Клоном" её походу ардуинщики окрестили. Ардуино-подобная плата - это клон имеется ввиду. Вячеслав М. писал(а): приобрёл по случаю два десятка, ADC понравился, я недавно приобрёл в корпусе QFP48, но ещё не запускал. В QFP48 корпусе отличия в ADC по регистрам есть от QFP32.Вобщем если интересно, можно пообщаться. Она у меня тоже пока в процессе "изучения" на макетке. Практически не применил ещё. TFT дисплеи на ней конечно летают по сравнению с мегой. В даташите правда встречаются серьёзные неточности ![]() |
Автор: | jcxz [ Вт мар 04, 2025 19:18:55 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
нуу.. у них от АВР только "328" в названии)) Автор вроде как на ARM-ы переползает. А вы его обратно в блуд AVR тянете. ![]() |
Автор: | ARV [ Вт мар 04, 2025 19:22:57 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать. При чем тут хочется или не хочется думать?! Если из 20 переменных пользователю захочется менять одну, то никакими алгоритмами не выровнять износ этой с остальными 19-ю. И если FRAM нет, то и думать не о чём. Для кольцевого буфера нужен указатель, который тоже должен быть в EEPROM, и который тоже должен обновляться... Добавлено after 2 minutes 49 seconds: нуу.. у них от АВР только "328" в названии)) Автор вроде как на ARM-ы переползает. А вы его обратно в блуд AVR тянете. ![]() ![]() Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены... Пришлось сделать запись, например, float в виде отдельных 4х записей байтов, чтобы данные были "упакованными" ![]() |
Автор: | shonty [ Вт мар 04, 2025 19:29:37 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
ARV писал(а): Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены... в lgt также. сорри за оффтоп) Добавлено after 2 minutes 5 seconds: стоп ![]() |
Автор: | ARV [ Вт мар 04, 2025 19:30:56 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
В моём МК EEPROM настоящий. STM32L052 |
Автор: | shonty [ Вт мар 04, 2025 19:41:58 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Но запись блочная, постраничная. Сейчас эти современные сильно отличаются от старых. Вот перевод из китайского ДШ: СпойлерПоскольку обновление через E2PCTL приведет к замене страниц, замененная страница будет удалена во время процесса замены страниц. Удаление страницы не только требует много времени, но и увеличивает срок службы флэш-памяти. Поэтому E2PCTL добавляет режим непрерывной записи. В режиме непрерывной записи пользователь может непрерывно обновлять область E2PROM.E2PCTL - это контроллер, который управляет псевдо-еепромом |
Автор: | ARV [ Вт мар 04, 2025 19:44:21 ] |
Заголовок сообщения: | Re: Снова о ресурсе EEPROM |
Я этого не понимаю, как оно может одновременно увеличивать ресурс и писать целыми страницами. В даташите на мой МК не написано про блочную запись, хотя я читал бегло... |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |