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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
IntUser
Родился
Сообщения: 4
Зарегистрирован: Чт янв 05, 2017 16:55:14

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

Сообщение IntUser »

Здравствуйте. Решил заняться, да всё никак настроить не могу. Написал простую программу (
1.png
Скриншот 1
(159.18 КБ) 639 скачиваний
), но в режиме отладки, переходя к функции delay программа выходит то ли в библиотеку, то ли ещё куда, сам ещё не понял (
2.png
Скриншот 2
(197.65 КБ) 349 скачиваний
). На этом режим отладки заканчивается. Оптимизацию кода отключил, не помогло. За помощь буду очень благодарен.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

В AS симуляция команд выполняется значительно медленнее чем это делал бы реальный МК. Запустите симуляцию, подождите например 60 реальных секунд и нажмите паузу. В окне состояния процессора можно поглядеть сколько он выполнил тактов за это время и сколько прошло у него времени согласно тактовой частоте. Будет очень большая разница. Проограмма на ассемблере симулируется несколько раз быстрее.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
IntUser
Родился
Сообщения: 4
Зарегистрирован: Чт янв 05, 2017 16:55:14

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

Сообщение IntUser »

Спасибо большое, все понял. Теперь не буду щелкать столько раз :)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ОЛЕГИЧ
Родился
Сообщения: 17
Зарегистрирован: Ср дек 21, 2016 10:07:23
Откуда: Санкт-Петербург

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

Сообщение ОЛЕГИЧ »

Здравствуйте! Почему то иногда могу поставить точку останова, не ставится, помогите разобраться что не так делаю?
Изображение
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Выключите оптимизацию, точка наверняка заработает.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

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

Сообщение Z_h_e »

Попробовал в студии 6 с оптимизацией и без.
СпойлерИзображение
Без оптимизации операция DDRD|= компиллится в нечто длинное, но точка тормозится. С оптимизацией код именно такой, какой должен быть, но точка останова проигнорирована. :dont_know:
Вложения
оптимизейшн AS6.png
(41.39 КБ) 655 скачиваний
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
ОЛЕГИЧ
Родился
Сообщения: 17
Зарегистрирован: Ср дек 21, 2016 10:07:23
Откуда: Санкт-Петербург

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

Сообщение ОЛЕГИЧ »

Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
И с включеной и с выключеной одинаково :?

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

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

Вернуться в «Разные вопросы по МК»