реклама на сайте
подробности

 
 
> Запись во Flash ROM ATmega128A
ADEPTPS
сообщение Feb 1 2012, 07:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-05-09
Пользователь №: 48 683



Вопрос банальный, но как мне записать переменную (float) в постоянную память?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ADEPTPS
сообщение Feb 1 2012, 08:28
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-05-09
Пользователь №: 48 683



необходимо хранить данные в энергонезависимой памяти
Go to the top of the page
 
+Quote Post
hd44780
сообщение Feb 1 2012, 08:41
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Цитата(ADEPTPS @ Feb 1 2012, 10:28) *
необходимо хранить данные в энергонезависимой памяти


EEPROM, о котором Палыч сказал, тоже энергонезависим.
А Flash писать может только бутлоадер.

Если пишете на CvAVR, объявляйте переменную:
eeprom float a;

Компилятор сам сделает всё остальное. Но помните, что EEPROM имеет ограниченный ресурс.
10000 циклов по ДШ. Некоторые говорят, что гораздо больше, но это у кого как ...

Если начнёте писать туда как попало на каждом углу, убъёте его довольно бстро

Сообщение отредактировал hd44780 - Feb 1 2012, 08:46


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 1 2012, 09:02
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(hd44780 @ Feb 1 2012, 12:41) *
Но помните, что EEPROM имеет ограниченный ресурс.
10000 циклов по ДШ. Некоторые говорят, что гораздо больше, но это у кого как ...

Производитель гарантирует 100 000 циклов "запись-стирание"
Go to the top of the page
 
+Quote Post
zhevak
сообщение Feb 1 2012, 09:26
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Палыч @ Feb 1 2012, 15:02) *
Производитель гарантирует 100 000 циклов "запись-стирание"

Ага.
Причем, заметьте, это в самом худшем варианте. Плюс еще немного запаса для поддержания марки. Итого примерно 30-ти кратный запас для нормальных условий.

Несколько лет назад я специально так "высасывал" ресурс EEPROM -- проверял __реальное__ количество циклов записи-стирания. Убил две или три TINY2313, у всех примерно 3-3.5 миллиона циклов на одну и ту же ячейку. Причем, на соседние ячейки "расход" ресурса не распространяется. Условия проведения эксперимента были следующие: комнатная температура, питалово +5В, частота вроде как была 8 МГц. Примерно за час или (три часа?) микросхема "убивалась". Топик, где обсуждалось "убивание" EEPROM, был где-то здесь же на electronix-e.

После этого я сделал вывод, что AVR-ки обладают практически неисчерпаемым количеством циклов записи-стирания. Чтобы убить микросхему, нужно либо целенаправленно ее "высаживать", либо быть законченным идиотом.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 1 2012, 11:04
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(zhevak @ Feb 1 2012, 13:26) *
Убил две или три TINY2313, у всех примерно 3-3.5 миллиона циклов на одну и ту же ячейку. Причем, на соседние ячейки "расход" ресурса не распространяется. Условия проведения эксперимента были следующие: комнатная температура, питалово +5В, частота вроде как была 8 МГц. Примерно за час или (три часа?) микросхема "убивалась".

Типично байт в EEPROM пишется около 5 mS. 3 миллиона циклов - это 15000 секунд, больше четырех часов.... Ну, если за три часа убилось - ладно. А если за час - то это ну никак не три миллиона.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Feb 1 2012, 12:18
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(rx3apf @ Feb 1 2012, 17:04) *
Типично байт в EEPROM пишется около 5 mS. 3 миллиона циклов - это 15000 секунд, больше четырех часов.... Ну, если за три часа убилось - ладно. А если за час - то это ну никак не три миллиона.

Да ладно Вам докапываться-то до деталей! Повторите, если уж так хочется. Не помню я, давно это было. Помню, что не сидел и не ждал окончания. Помню, что в общей сложности потратил на эксперимент два дня. Возможно это -- каждый час бегал смотреть на счетчик... Короче, на продолжительности эксперимента на заморачивался. Помню, только цифру -- более трех миллионов.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 13:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01423 секунд с 7
ELECTRONIX ©2004-2016