Режим отладки в Atmel Studio
Режим отладки в Atmel Studio
Здравствуйте. Решил заняться, да всё никак настроить не могу. Написал простую программу ( ), но в режиме отладки, переходя к функции delay программа выходит то ли в библиотеку, то ли ещё куда, сам ещё не понял ( ). На этом режим отладки заканчивается. Оптимизацию кода отключил, не помогло. За помощь буду очень благодарен.
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Режим отладки в Atmel Studio
что значит "режим отладки закончился"? по-моему, он весьма успешно продолжался
вы попали в "библиотечную" функцию - код ее вам отладчик показал, и потом, с каждым нажатием "шага" вы выполняете эту самую функцию... а она делает задержку аж в 1 секунду - это, кстати, 8000000 тактов (читай шагов ассемблерного кода). так что если терпения хватит - прошагаете ее всю.
а если терпения не хватает - ставьте точки ОСТАНОВА (Breakpoints) на важных строках основного кода (у вас это работа с портом) и делайте не пошаговое выполнение, а "запуск на исполнение" - прога сама станет в нужном месте, только терпения наберитесь.
вы попали в "библиотечную" функцию - код ее вам отладчик показал, и потом, с каждым нажатием "шага" вы выполняете эту самую функцию... а она делает задержку аж в 1 секунду - это, кстати, 8000000 тактов (читай шагов ассемблерного кода). так что если терпения хватит - прошагаете ее всю.
а если терпения не хватает - ставьте точки ОСТАНОВА (Breakpoints) на важных строках основного кода (у вас это работа с портом) и делайте не пошаговое выполнение, а "запуск на исполнение" - прога сама станет в нужном месте, только терпения наберитесь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Режим отладки в Atmel Studio
В AS симуляция команд выполняется значительно медленнее чем это делал бы реальный МК. Запустите симуляцию, подождите например 60 реальных секунд и нажмите паузу. В окне состояния процессора можно поглядеть сколько он выполнил тактов за это время и сколько прошло у него времени согласно тактовой частоте. Будет очень большая разница. Проограмма на ассемблере симулируется несколько раз быстрее.
Re: Режим отладки в Atmel Studio
Спасибо большое, все понял. Теперь не буду щелкать столько раз 
- Реклама
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Режим отладки в Atmel Studio
Выключите оптимизацию, точка наверняка заработает.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Режим отладки в Atmel Studio
нет, оптимизация не касается volatile-переменных, а все порты и регистры периферии в avr-gcc определены именно как volatile-переменные. по скриншоту не понятно, что именно и где не работает. возможно, просто отключена генерация отладочной информации...Z_h_e писал(а):Выключите оптимизацию, точка наверняка заработает.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Режим отладки в Atmel Studio
Попробовал в студии 6 с оптимизацией и без.
Без оптимизации операция DDRD|= компиллится в нечто длинное, но точка тормозится. С оптимизацией код именно такой, какой должен быть, но точка останова проигнорирована. 
Спойлер

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




