Страница 1 из 1

Режим отладки в Atmel Studio

Добавлено: Чт янв 05, 2017 17:28:45
IntUser
Здравствуйте. Решил заняться, да всё никак настроить не могу. Написал простую программу (
1.png
Скриншот 1
(159.18 КБ) 639 скачиваний
), но в режиме отладки, переходя к функции delay программа выходит то ли в библиотеку, то ли ещё куда, сам ещё не понял (
2.png
Скриншот 2
(197.65 КБ) 349 скачиваний
). На этом режим отладки заканчивается. Оптимизацию кода отключил, не помогло. За помощь буду очень благодарен.

Re: Режим отладки в Atmel Studio

Добавлено: Чт янв 05, 2017 17:53:04
ARV
что значит "режим отладки закончился"? по-моему, он весьма успешно продолжался :)
вы попали в "библиотечную" функцию - код ее вам отладчик показал, и потом, с каждым нажатием "шага" вы выполняете эту самую функцию... а она делает задержку аж в 1 секунду - это, кстати, 8000000 тактов (читай шагов ассемблерного кода). так что если терпения хватит - прошагаете ее всю.

а если терпения не хватает - ставьте точки ОСТАНОВА (Breakpoints) на важных строках основного кода (у вас это работа с портом) и делайте не пошаговое выполнение, а "запуск на исполнение" - прога сама станет в нужном месте, только терпения наберитесь.

Re: Режим отладки в Atmel Studio

Добавлено: Чт янв 05, 2017 19:34:50
Z_h_e
В AS симуляция команд выполняется значительно медленнее чем это делал бы реальный МК. Запустите симуляцию, подождите например 60 реальных секунд и нажмите паузу. В окне состояния процессора можно поглядеть сколько он выполнил тактов за это время и сколько прошло у него времени согласно тактовой частоте. Будет очень большая разница. Проограмма на ассемблере симулируется несколько раз быстрее.

Re: Режим отладки в Atmel Studio

Добавлено: Пт янв 06, 2017 07:51:59
IntUser
Спасибо большое, все понял. Теперь не буду щелкать столько раз :)

Re: Режим отладки в Atmel Studio

Добавлено: Сб янв 28, 2017 21:08:59
ОЛЕГИЧ
Здравствуйте! Почему то иногда могу поставить точку останова, не ставится, помогите разобраться что не так делаю?
Изображение

Re: Режим отладки в Atmel Studio

Добавлено: Вс янв 29, 2017 17:24:47
Z_h_e
Выключите оптимизацию, точка наверняка заработает.

Re: Режим отладки в Atmel Studio

Добавлено: Вс янв 29, 2017 18:33:34
ARV
Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
нет, оптимизация не касается volatile-переменных, а все порты и регистры периферии в avr-gcc определены именно как volatile-переменные. по скриншоту не понятно, что именно и где не работает. возможно, просто отключена генерация отладочной информации...

Re: Режим отладки в Atmel Studio

Добавлено: Вс янв 29, 2017 19:32:45
Z_h_e
Попробовал в студии 6 с оптимизацией и без.
СпойлерИзображение
Без оптимизации операция DDRD|= компиллится в нечто длинное, но точка тормозится. С оптимизацией код именно такой, какой должен быть, но точка останова проигнорирована. :dont_know:

Re: Режим отладки в Atmel Studio

Добавлено: Пн янв 30, 2017 14:17:31
ОЛЕГИЧ
Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
И с включеной и с выключеной одинаково :?

Добавлено after 1 minute 10 seconds:
ARV писал(а):
Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
нет, оптимизация не касается volatile-переменных, а все порты и регистры периферии в avr-gcc определены именно как volatile-переменные. по скриншоту не понятно, что именно и где не работает. возможно, просто отключена генерация отладочной информации...
Где можно посмотреть включена ли генерация?

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