Страница 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|= компиллится в нечто длинное, но точка тормозится. С оптимизацией код именно такой, какой должен быть, но точка останова проигнорирована.

Re: Режим отладки в Atmel Studio
Добавлено: Пн янв 30, 2017 14:17:31
ОЛЕГИЧ
Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
И с включеной и с выключеной одинаково
Добавлено after 1 minute 10 seconds:
ARV писал(а):Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
нет, оптимизация не касается volatile-переменных, а все порты и регистры периферии в avr-gcc определены именно как volatile-переменные. по скриншоту не понятно, что именно и где не работает. возможно, просто отключена генерация отладочной информации...
Где можно посмотреть включена ли генерация?
Почему то создаю проект новый, по таким же характеристикам, модульный и точки работают, а открываю старый проект и не работает... ничего не пойму...