Коллекция глюков Здесь публикуются все известные глюки, баги микроконтроллеров, памяти, АЦП и т.д. |
08.03.2008, 18:17
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Собираем глюки и "подводные камни" AVR и AVR Studi
Давайте в этой теме отписывать о том, у кого какие были проблемы при работе с микроконтроллерами AVR и средой AVR Studio.
Тут пишем:
- о "граблях" когда когда долго мучился с "глюком", а в результате "сам дурак" оказался
- о недокументированных фичах, которые были обнаружены опытным путём и о которых не написано в документации
- о конкретных глюках
- о сбоях, которые происходят в AVR под действием помех, низких/высоких температур и т.п. вредных факторах
и как Вы их "побороли"
Лирическое отступление (можно пропустить при чтении этой темы )
Просто меня почему-то всегда по жизни больше интересовали и интересуют "отрицательные" вопросы.
Т.е. например мне интересней разобраться "почему это НЕ работает", чем "почему это работает".
Т.е. мне всегда интересней разбираться в причинах "смерти" и не работоспособности той или иной научно-технической идеи или решения, понять где и на каком этапе были допущены ошибки в рассчётах, рассуждениях, исходных посылках. А изучать работающие решения с тем, чтобы потом их просто ТУПО ПОВТОРЯТЬ мне не интересно. Да и не повторишь их просто тупым копированием. Незная тех самых пресловутых глюков, о которых известно разработчикам и о которых НИЧЕГО не знают те, которые собираются просто скопировать это решение. Уж простите.
Т.е. в любой "бочке мёда" меня почему-то интересует не "мёд", а та самая, пресловутая "ложка дёгтя".
А для технических систем, я считаю, что информация "почему это не будет работать" куда важней, чем информация "почему это работает". Ибо незнание о каком-нибудь маленьком глючке может запросто угробить самый многообещающий проект
P.S. Надеюсь лирические отступления от темы на этом закончились.
|
|
|
|
08.03.2008, 18:20
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
|
|
|
|
08.03.2008, 18:29
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
"Есть у меня одна неразрешенная загадка: в одной программе на MEGA8, интенсивно использующей инструкции Ldd/Std, иногда наблюдались ошибки на границах страницы ОЗУ 0x00..0x100. Это может быть тоже гонка фронтов?"© http://electronix.ru/forum/lofiversi...hp/t36984.html
|
|
|
|
08.03.2008, 20:01
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
|
|
|
|
08.03.2008, 20:06
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
"Ситуация такова - применили в одном малосерийном девайсе Мегу128 - на тот момент это был единственный АВР с 6-ю ШИМами. И теперь сами не рады - очень часто вылетают уже после нескольких перепрошивок, причем странно - например, перестает читаться сигнатура, или не стирается, или тактовый не запускается, хотя с фузами все Ок... А то и просто - помирает вовсе.
До того очень плотно работал с кучей других АВРов - 8535, тини26, Мега8, тини15... За пару лет только один 8535 вылетел - перестал флеш стираться. А с этими 128 мегами беда просто. Причем процессоры из трех партий, а результат один... Уже штук 15 сдохло.
А сегодня вообще один процессор выявился - неправильно работающий. Почему - долго рассказывать, кому интересно - расскажу. То есть - девайс при определенном наборе условий ведет себя неверно. Прошивка - и сравнена, и перешита, - ну не работает. В очень коротеньком участке программы, где всего лишь несколько сравнений и переходов, при определенном знаке один из переходов неверный - причем до определенного значения, далее - Ок. В конце концов выломали процессор, поставили другой - все Ок... Ну это ж вообще какой-то кошмар. Не тестировать же у него систему команд!"© http://electronix.ru/forum/lofiversi...php/t6072.html
|
|
|
|
14.03.2008, 18:43
|
|
Прохожий
Регистрация: 14.03.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Милостливый государь, не соблаговолите ли мне ответитить на вопрос, который мучает меня вот уже много-много.
Дело в том, что по натуре я девушка скромная, и стесняюсь спрашивать напрямую. Но у меня недавно пошел дымок из интимной части моего микроконтроллера, и я не знаю, что делать.
|
|
|
|
14.03.2008, 20:46
|
|
Вид на жительство
Регистрация: 15.03.2005
Сообщений: 351
Сказал спасибо: 17
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
аааа
|
|
|
|
21.03.2008, 12:59
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Вот недавно совсем наступил на "грабли".
Долго мучился с тем, что у меня в программе пропускались include-файлы. Причём иногда файл виделся, а тело его не вставлялось, как будто он пустой. А иногда кроме того, что тело не вставлялось, так ещё и пропускалась вообще следующая сразу за ним директива .include
Хоть это и описано в Хэлпе AVR Studio в разделе "AVR Assembler 2 - Known Issues", но я про эту фичу забыл.
Вот эта фича:
"Missing newline at end of file
AVRASM2 has some issues if the last line in a source file is missing a newline: Error messages may refer to wrong filename/line number if the error is in the last line of a included files, and in some cases syntax errors may result. Beware that the AVR Studio editor will not append a missing newline at the end of a source file automatically."
Не наступайте на мои грабли...
Решил всё просто.. Добавил несколько пустых строк в конец файла и всё стало ОК
|
|
|
|
03.04.2008, 22:30
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
|
|
|
|
20.04.2008, 09:39
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Собираем глюки и "подводные камни" AVR и AVR S
Новые глюки от Atmel. Смотрим даташифт на ATmega16
.
И в разделе Errata читаем: " Reading EEPROM by using ST or STS to set EERE bit triggers unexpected interrupt request"
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:21.
|
|