Существуют ли какие-то готовые библиотеки или хотя бы рабочие заготовки кода Си для повышения ресурсной стойкости встроенной в МК EEPROM?
Теоретически мне всё более-менее понятно, но практическая реализация получается не очень удобной. Может, я туплю, может и в самом деле красиво не возможно...
Главное - только софт-способы, без использования алгоритмов контроля напряжения питания и обновления EEPROM "в последний момент".
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
При интенсивной записи, думаю, кольцевой буфер с признаком конца (последней записи). Ну и через update и отдельной записью, без стирания, по возможности.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Хранить всё подряд, байты, слова, 32-битные числа... В разном количестве и порядке, со случайным доступом. А как часто, предсказать не могу. От "никогда" до "каждые несколько секунд".
В таком случае только FRAM. А если уметь продумывать алгоритмы работы и использования данных - кольцевой буфер.
без стирания не получится - запись делается с предварительным стиранием. поэтому время на запись байта в 2 раза больше, чем требуется только на саму запись.
Стирание/без_стирания - не при чём. Чтобы увеличить ресурс, надо выравнивать износ. И просто так, не думая, с кондачка, этого не сделать. Чтобы не было такого, что одна переменная записалась миллион раз, а другая - только один. Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать.
Да, я тоже на меге 88, 168, пишу и EEPROM_ом пользуюсь, и о стирании ничего не знаю, так пишу, не стирая, только готовность нужно дождаться и сразу запись с предварительной установкой адреса. А сейчас приобретаю мегабитные EEPROM, там пока не знаю, вроде как нужно стирать, ну это не точно, буду изучать.
А контроллер не сам все манипуляции проводит? Необходимо участие в стирании? В LGT (и вроде в XMega-х) тоже обмен страницами с защитой от потери данных. Но это лишь в описании. Пользователю как обычно: жди освободившегося буфера и давай разрешение на запись.
А что там с LGT, приобрёл по случаю два десятка, ADC понравился, очень быстрый, а что дальше с ним делать не знаю - чем программировать, чем отлаживать, было бы какое то описание по программированию можно было бы сварганить, в общем даташит интересный а применить не могу, ещё прикрылся под брендом AVR, а чёто как то тускло.
я на аврасме пишу, компилю avrasm2, программирую usbasp-ом перешитым. Если имеются вопросы - могу ответить.. Только не в этой теме наверное))
Вячеслав М. писал(а):
ещё прикрылся под брендом AVR, а чёто как то тускло.
нуу.. у них от АВР только "328" в названии)) "Клоном" её походу ардуинщики окрестили. Ардуино-подобная плата - это клон имеется ввиду.
Вячеслав М. писал(а):
приобрёл по случаю два десятка, ADC понравился,
я недавно приобрёл в корпусе QFP48, но ещё не запускал. В QFP48 корпусе отличия в ADC по регистрам есть от QFP32.
Вобщем если интересно, можно пообщаться. Она у меня тоже пока в процессе "изучения" на макетке. Практически не применил ещё. TFT дисплеи на ней конечно летают по сравнению с мегой.
В даташите правда встречаются серьёзные неточности Но тем интереснее))
Если думать не хочется - только FRAM. Все остальные методы требуют умения думать и планировать работу программы. И возможно - сильно её переделывать.
При чем тут хочется или не хочется думать?! Если из 20 переменных пользователю захочется менять одну, то никакими алгоритмами не выровнять износ этой с остальными 19-ю. И если FRAM нет, то и думать не о чём.
Для кольцевого буфера нужен указатель, который тоже должен быть в EEPROM, и который тоже должен обновляться...
Автор вроде как на ARM-ы переползает. А вы его обратно в блуд AVR тянете.
правильнее сказать "заползает" Сегодня выяснил, что хотя EEPROM и допускает побайтовый доступ, 32-битные данные должны быть выровнены... Пришлось сделать запись, например, float в виде отдельных 4х записей байтов, чтобы данные были "упакованными"
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Но запись блочная, постраничная. Сейчас эти современные сильно отличаются от старых. Вот перевод из китайского ДШ: СпойлерПоскольку обновление через E2PCTL приведет к замене страниц, замененная страница будет удалена во время процесса замены страниц. Удаление страницы не только требует много времени, но и увеличивает срок службы флэш-памяти. Поэтому E2PCTL добавляет режим непрерывной записи. В режиме непрерывной записи пользователь может непрерывно обновлять область E2PROM. E2PCTL - это контроллер, который управляет псевдо-еепромом
Я этого не понимаю, как оно может одновременно увеличивать ресурс и писать целыми страницами. В даташите на мой МК не написано про блочную запись, хотя я читал бегло...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения