Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 22:00

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 24 ] 
Автор Сообщение
 Заголовок сообщения: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 19 июл 2012, 12:07 
Только пришел
Аватара пользователя

Зарегистрирован: 19 июл 2012, 11:17
Сообщения: 7
Откуда: Рязань
Не могу в студии попасть на вектор прерываний и его обработку. Пробовал на нескольких примерах. В протеусе все работает. Копипастил даже пример из ликбеза по студии великого Di (пример с UART). Вроде проставил все регистры и флаги, но ничего не получается. Нет перехода на вектор прерывания.

В пошаговом режиме после команды sei не выставляется флаг разрешения I (ставлю его в ручную). Так и должно быть или это глюк какой-то??

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

P.S.:вызов подпрограмм и выход из них происходит нормально, счетчики команд и указатели стека все выполняется корректно.

_________________
С уважением. Михаил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 19 июл 2012, 12:25 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4403
Откуда: Брянск
Такая проблема имеет место быть, я писал в поддержку Atmel, но ответа так и не получил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 22 июл 2012, 23:08 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 15 июл 2012, 19:52
Сообщения: 119
Откуда: Елец
KeisN13 писал(а):
В пошаговом режиме после команды sei не выставляется флаг разрешения I (ставлю его в ручную). Так и должно быть или это глюк какой-то??

Надо нажать Play (зелененькую стрелочку) через 1-2 секунды симуляций sei начнет работать. Еще раз проверьте свои маски прерываний, программу ведите в дизассемблере, т.к. GCC встраивает свои библиотеки и в операциях копирования стеков всегда блокируются прерывания CLI, если смотреть ассемблер.

Внизу ссылка на видео как обойти баг:
http://youtu.be/HmmYW2WK0p0

P.S.
Это не весь ассортимент багов. Мною был обнаружен незначительный баг, когда настраиваешь пины портов, то устанавливаются кроме нужных еще и другие пины. Но если программу вести в отладлике построчно, а не по брейк-поинтам, то данная проблема не возникает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 26 июл 2012, 19:58 
Только пришел
Аватара пользователя

Зарегистрирован: 19 июл 2012, 11:17
Сообщения: 7
Откуда: Рязань
Да вот к сожалению я не владею написанием на Си. Пока подсел на ассемблер, как основу основ. Но ход мыслей из видео понятен. Спасибо.
Снёс 6-ю версию и поставил 5-ую. Там вроде бы пока проблем с установкой флагов нет.

_________________
С уважением. Михаил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 26 июл 2012, 20:52 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 15 июл 2012, 19:52
Сообщения: 119
Откуда: Елец
KeisN13 писал(а):
Да вот к сожалению я не владею написанием на Си. Пока подсел на ассемблер, как основу основ.

Ээ... это плохая идея. Я сам с Ассемблера начинал, правда под PIC и пожалел. Серьезной программы на нем не напишешь. Экономить память контроллера на сегодняшний день неактульно. Так что вы зря теряете время, изучайте сразу нормальный инструмент. А ассемблер будет для вас так атрибутикой для отладки, достаточно прочесть основы его синтаксиса и работы, не вдаваясь в детали - короче базовые знания.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 26 июл 2012, 22:17 
Старожил
Аватара пользователя

Зарегистрирован: 01 янв 2011, 22:34
Сообщения: 1277
Откуда: Украина, Шостка
Ну прочитаете вы и забудете сразу. Чтение без практики, уж извините, до попы! :)

_________________
Skype - maxradohleb


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 01 авг 2012, 15:50 
Заглядывает иногда

Зарегистрирован: 27 мар 2011, 03:42
Сообщения: 72
Modest писал(а):
KeisN13 писал(а):
Да вот к сожалению я не владею написанием на Си. Пока подсел на ассемблер, как основу основ.

Ээ... это плохая идея. Я сам с Ассемблера начинал, правда под PIC и пожалел. Серьезной программы на нем не напишешь. Экономить память контроллера на сегодняшний день неактульно. Так что вы зря теряете время, изучайте сразу нормальный инструмент. А ассемблер будет для вас так атрибутикой для отладки, достаточно прочесть основы его синтаксиса и работы, не вдаваясь в детали - короче базовые знания.

Начинать изучение контроллеров полезнее с ассемблера, лучше будет понимание работы устройства - организация памяти, всякие там команды на атомарном уровне и все такое. И после хорошего изучения ассемблера и написания пары проектов на нем отлаживать Сишный код в дизассемблере - одно удовольствие.

И по теме, если для кого еще актуально и не все перешли на AS5:
Dan писал(а):
This is a bug in Atmel Studio 6.0, where stepping over SEI overwrites the I flag (simulator and real hw).
You can get rid of this bug by disabling the "Mask interrupts while stepping" option in "Tools | Options | Debugger ".

The reason is that Studio disables interrupts prior to single stepping, and restores the previous state of the interrupt enable bit afterwards.

Unfortunately, the restore logic failed to account for instructions that change the bit directly (CLI, SEI, RETI). This affects both simulator and real hw.

The workaround is thus to
1. Not step over CLI, RETI or SEI, or
2. Disable the interrupt masking logic as described above.

Взято отсюда: http://www.avrfreaks.net/index.php?name ... c&p=979945


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 09 мар 2013, 18:54 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
Подниму тему, поставил AVR Studio 6.

При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.

Подскажите что делать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 09 мар 2013, 19:13 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4358
Откуда: г. Липецк
KeisN13 писал(а):
... Так и должно быть или это глюк какой-то??...

ReasonX писал(а):
...Подскажите что делать ?

Поддержка ассемблера Atmel остановилась в версии студии 4.19. Все последующие версии привносили в поддержку ассемблера только глюки. Выводы делайте сами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 09 мар 2013, 20:22 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:55
Сообщения: 5576
Откуда: Уругвайская АССР
ReasonX писал(а):
При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.

А должно было помочь? При входе на вектор прерывания, глобальные прерывания запрещаются, при выходе командой reti - восстанавливаются. Нету у avr нативного нестинга.

_________________
Без гнева и жестокости, сегодня Смерть взмахнёт косой, и ангел тайными дорогами мой милый Кубик унесёт с собой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 09 мар 2013, 20:59 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
Горнист писал(а):
ReasonX писал(а):
При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.

А должно было помочь? При входе на вектор прерывания, глобальные прерывания запрещаются, при выходе командой reti - восстанавливаются. Нету у avr нативного нестинга.


А кто сказал что он входит на вектор ? После первого RCALL\RETI, прерывания не восстанавливаются и включатся отказываются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 09 мар 2013, 22:23 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
Вообщем такая проблема, во всех версиях старше 4.13 проект не работает.

На 4.13 работает отлично.

На 4.14 начинает дергаться стрелка, все мигать при дебаге, а 1ый и 2й бит MCUCR отказываются работать, выставляются но вместо срабатывания по нарастанию получаю просто Reserved и никакого прерывания не наступает.

И да, для советов типа работай на 4.13, оно виснит постоянно, и все равно некоторые фичи не работают. Например таймер на Attiny25 пашет только в AvrSim2 но зато там не пашет конфиг дебагера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 01:32 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
Атас! Открою Вам страшную тайну - в любой студии есть HELP (только не говори не кому - пусть это останется тайной). В нем есть раздел - Симмулятор. А в том разделе можно найти инфу , что поддерживает и что не поддерживает симмулятор для данного дивайса.
Но это только между нами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 07:43 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
ILYAUL писал(а):
Атас! Открою Вам страшную тайну - в любой студии есть HELP (только не говори не кому - пусть это останется тайной). В нем есть раздел - Симмулятор. А в том разделе можно найти инфу , что поддерживает и что не поддерживает симмулятор для данного дивайса.
Но это только между нами.


Между нами, по секрету, вопрос про версии программы, а не симулятора, только тссс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 12:21 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
А вот оно как и это не Вы писали, понял . Тсссс
ReasonX писал(а):
При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.
Подскажите что делать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 12:34 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4358
Откуда: г. Липецк
Ребята, хватит письками меряться давайте жить дружно! Если постите, то по делу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 12:45 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
А я и не меряюсь , просто пытаюсь объяснить , что общего симмулятора в студии нет. И симмулируется каждое устройство отдельно и для каждой версии студиии их пишут программисты для каждого устройства свой. И вот как он накосячит так и будет работать симмулятор от версии к версии для его устройсва. Узнать это можно заглянув в хелр любой студии., а не создавать темы ни о чём.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 13:49 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 сен 2012, 02:24
Сообщения: 82
ReasonX писал(а):
Подниму тему, поставил AVR Studio 6.

При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.

Подскажите что делать ?


Уже писал по этому поводу, сделай так и будет тебе счастье.


Вложения:
1.PNG
1.PNG [ 25.92 Кб | Просмотров: 10153 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 16:19 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
ILYAUL писал(а):
А я и не меряюсь , просто пытаюсь объяснить , что общего симмулятора в студии нет. И симмулируется каждое устройство отдельно и для каждой версии студиии их пишут программисты для каждого устройства свой. И вот как он накосячит так и будет работать симмулятор от версии к версии для его устройсва. Узнать это можно заглянув в хелр любой студии., а не создавать темы ни о чём.


Извиняюсь, тсссссс.

В хелп не залезал, но гугл порыл основательно, ни разу не сталкивался с хелпом от которого есть толк.

ПС Если уж на то пошло, то ответы на 90% тем форума можно получить в тех документации. Просто зачастую легче спросить у знающих людей и не тратить драгоценное время на поиск того что уже нашли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 10 мар 2013, 16:20 
Заглядывает иногда

Зарегистрирован: 06 мар 2013, 23:44
Сообщения: 198
donec писал(а):
ReasonX писал(а):
Подниму тему, поставил AVR Studio 6.

При симуляции автоматически сбрасывается флаг глобальных прерываний. Обновил до 6.1 не помогло.

Подскажите что делать ?


Уже писал по этому поводу, сделай так и будет тебе счастье.


Спасибо. Правда все равно решил остаться на 4.13


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 15 мар 2013, 15:27 
Заглядывает иногда

Зарегистрирован: 10 фев 2011, 19:07
Сообщения: 68
Bomond писал(а):
Такая проблема имеет место быть, я писал в поддержку Atmel, но ответа так и не получил.

В документе "AtmelStudio-6.1.2440-beta-Readme.pdf" в списке багфиксов присутствует такая запись: "Issue #AVRSV-3572: Stepping on sei(); does not set I flag"
Так что Ваши труды не прошли даром!)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 15 мар 2013, 18:59 
Заглядывает иногда

Зарегистрирован: 30 май 2011, 14:21
Сообщения: 50
donec писал(а):
Уже писал по этому поводу, сделай так и будет тебе счастье.
Спасибо!
Очень выручили, а то был в состоянии близком к панике.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 16 мар 2013, 06:51 
Только пришел

Зарегистрирован: 17 авг 2011, 16:32
Сообщения: 5
Спрошу здесь, а в 6 студии нет проблемы со сбросом BUSY флагов асинхронного таймера? Не хочет сбрасывать при отладке и все.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio 6 симуляция прерываний
СообщениеДобавлено: 16 сен 2019, 16:44 
Только пришел
Аватара пользователя

Зарегистрирован: 15 сен 2019, 06:45
Сообщения: 17
Откуда: Москва
Подниму темку. Проблема та-же -не симулируются прерывания.
Пробую в авр-студии 4 -тыкаю в флаговые регистры, всё ок - прерывания симулируются как надо.
Тоже самое пробую в Атмел студии 7 - прерывания не симулируются, хоть тресни.
PS: Такой менюшки как 5ю постами выше в моей студии7 (v7.0.1931) нету. Есть похожий путь: Debug-Options-Debugger но там нет настройки Mask interrupts while stepping
Может кто-то знает чем это лечится? ;(


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB