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

 
 
 
Reply to this topicStart new topic
> Вопрос про CVAVR
TamTam
сообщение Jun 1 2006, 22:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Довел до ума програмку зашил в мк и вот бли не задача не работает,
Думаю ну ладно может где напортачил, перелистал код все ок,
Вот только в майне у меня есть токая строка
Код
void main(void)
{
init;
if (byte_read(0)==0)
   {
      #ifdef DEBUG
      putsf("FIRST RUN !!!\n\r");
      #endif  
      byte_write(126,0);
      byte_write(127,0);        
}
// ну и далее код
}


тут я понял что чтото с eeprom-ом случилось, а чем посмотреть???
Ну значит тыкаю на кнопку (запустить программатор),
вижу есть прочесть eeprom, ну я туда а он не читает. Так вот я подумал что пипец рому, ну запутил риал,
читает все ок, но ведъ в CVAVR поудобней будет, и тут я заметил что если проект не открыт, то читает и всек остальное нормально а если проджект открыт то пипец (и тут я заметил).
Что в окошке EEPROM в поле адрес окончания стоит 0 а не 7F поставил 7F и все ок но оно все время от туда слетает,

Может кто знает как решить данный трабл (чтод не ставить туда каждый раз адрес последнего байта), или разработчик так задумал ????

Может где галочку поставить нода ???
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 1 2006, 23:05
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



А может в проекте неправильно проц указан? Может у того, который указан и EEPROMa-то нет.

0-ой адрес в EEPROMе не советовал бы использовать. Это "мусорный" нулевой байт. Иногда стирается при случайных сбросах. И это. Если проверяете в "if" так после "if" нужно же его прописывать ненулевым значением.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
TamTam
сообщение Jun 1 2006, 23:32
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Цитата(GetSmart @ Jun 2 2006, 03:05) *
А может в проекте неправильно проц указан? Может у того, который указан и EEPROMa-то нет.

0-ой адрес в EEPROMе не советовал бы использовать. Это "мусорный" нулевой байт. Иногда стирается при случайных сбросах. И это. Если проверяете в "if" так после "if" нужно же его прописывать ненулевым значением.


В проджекте указан 90S2313, а вот если в окне програматора поменять его на самого себя все становиться ок , но потом всеравно обваливается.

А какова вероятноть того что он будет затераться??? а то я уже сурц отдал. а в этом байте храниться информация о количестве ключей записанных в память.
Go to the top of the page
 
+Quote Post
TamTam
сообщение Jun 1 2006, 23:34
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Цитата(GetSmart @ Jun 2 2006, 03:05) *
А может в проекте неправильно проц указан? Может у того, который указан и EEPROMa-то нет.

0-ой адрес в EEPROMе не советовал бы использовать. Это "мусорный" нулевой байт. Иногда стирается при случайных сбросах. И это. Если проверяете в "if" так после "if" нужно же его прописывать ненулевым значением.


В проджекте указан 90S2313, а вот если в окне програматора поменять его на самого себя все становиться ок , но потом всеравно обваливается.

А какова вероятноть того что он будет затераться??? а то я уже сурц отдал. а в этом байте храниться информация о количестве ключей записанных в память.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 1 2006, 23:54
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вероятность пропорционально частоте записи в епром по любым адресам, делённая на всё время и умноженная на вероятность сброса (пропадения питания). Короче, если во время записи в епром проц аппаратно сбросится (питание, вачдог и др.) то нулевой байт затрётся.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Sergiy
сообщение Jun 4 2006, 12:09
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 29-05-06
Из: Netherlands (Delft)/Ukraine (Odessa)
Пользователь №: 17 547



а вот мне видится, что такая вот самопроизвольная порча еепромов в АВРках описана в эррартах, там сказано, что есть проблема со сбросом по питанию, если ставить внешние супервизоры такие как LM809, MAX809 или что то посерьезней, то все будет окей. Они вроде бы переделали потом схематику в мегах, но я все равно ставил эти трехножки, они копейки стоили и занимали на плате минимум места. Хотя может действительно я что-то не догонял все это время. У меня много реальных проектов, в которых первая (нулевая) ячейка использовалась (там был последний конфигурируемый IP-адрес устройства), если бы он накрывался, то девайс бы сразу же вырубался, а этого не припомнится, их уже более двух сотен спокойненько день изо дня работают на заводах заказчика и летают в наших отечественных самолетах. Может надо срочно делать апдейт ембеддед программ, а то падать начнут sad.gif

И еще у меня еепромка обычно промаскирована в шахматном порядке какой-то константой, при каждой загрузке я проверяю эту маску, если в ней что то не так, то как минимум светодиодик. сообщение на верх системы по какому нить интерфейсу. Потому что в еепромке часто хранятся важные константы, уставки, калибровки, если они собъются, система получит некорректный алгоритм управления и это может закончится не только плачевно для системы, сколько для объекта, которым она управляет.
Go to the top of the page
 
+Quote Post
Serj78
сообщение Jun 4 2006, 17:53
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



По поводу порчи еепрома- я всегда забиваю первые 10 байт какой-нибудь фигней, а все данные хранятся начиная с 10-го байта.

До 10-го байта порча не доходила у меня никогда smile.gif а вот , примногократном перепрограммировании, некоторые еячейуки переставали работать. примерно через год эксплуатации. это я в программе установок сделал мигание на ЖКИ устанавливаемого параметра (проект был программатор таймера), примерно с частотой 5гц, и с этой частотой переменные еепром переписывались. через год эксплуатации наиболее часто изменяемые параметры перестали меняться smile.gif. сделал буфер в озу- все прошло..
Go to the top of the page
 
+Quote Post

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

 


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


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