Iar avr studio

Візьмемо для експерименту проект ring.rar. Він простий і в ньому задіяно переривання.

Відкриваємо його в IARе.
Вибираємо конфігурацію Debug.
Задаємо настройки проекту Project> Options пункт Linker вкладка Output.
Знімаємо галочку Override default, якщо вона встановлена.
Вибираємо радіо-кнопку Other, а в випадаючому списку Output Format> ubrof 8 (forced)

Iar avr studio

Кількома Ок, компілюємо проект.
Якщо все пройшло без помилок, шукайте в папці проекту> Debug> Exe файл ring1.dbg

Запускаємо AVR Studio.
Відкриється Project Wizard. Якщо не відкрився - запускаємо його вручну Project> Project Wizard.
Кількома Open і вказуємо шлях до файлу ring1.dbg.
Студія запропонує зберегти файл ring1_dbg.aps в папці проекту. Погоджуємося.
Потім відкриється вікно вибору отладочной платформи і мікроконтролера - вибираємо AVR Simulator і ATMega8535
Тиснемо Finish.

Отже, проект відкрився і вже запущений режим налагодження.

Iar avr studio

Не буду вдаватися в подробиці налагодження в AVR Studio, зупинюся лише на кількох моментах.

Покрокове виконання програми відбувається при натисканні кнопки F11 (Step Into). Можна виконувати програму на Сі, а можна на асемблері. За замовчуванням відкритий сішний файл, асемблерний відкривається через меню View> Disassembler або за допомогою іконки Toggle Disassembler Window.

Toggle Disassembler Window

Кнопка F5 (Run) запускає виконання програми в безперервному режимі. Це має сенс, якщо в програмі розставлені breakpoint`и (точки зупинки). Наприклад, ми хочемо перевірити виконання коду в перериванні таймера. Як до нього дістатися? Ставимо курсор в початок переривання і натискаємо F9 (Toggle breakpoint). Зліва від курсора з'явиться червоний кружок, це і є breakpoint. Запускаємо програму в безперервному режимі - F5. Програма буде виконуватися до тих пір, поки не відбудеться переривання таймера.

Щоб прибрати breakpoint, потрібно поставити поруч з ним курсор і знову натиснути F9. Все breakpoint`и прибираються натисканням на іконку Remove all Program Breakpoints.

Remove all Program Breakpoints

Можна запускати виконання програми до курсора. Ставимо курсор в потрібне місце і натискаємо Ctrl + F10 (Run to Cursor).

Перехід в початок програми відбувається при натисканні Shift + F5 (Reset).

У процесі налагодження часто потрібно спостерігати, як змінюються значення змінних або регістрів. Для цих цілей в отладчике AVR Studio є вікно Watch. Щоб його відкрити, виберете View> Watch або клікніть по іконці Toggle Watch Windows. Вікно Watch є таблицею з 4-ох колонок: Name, Value, Type, Location. Ім'я, значення, тип і розташування в пам'яті відповідно.

Toggle Watch Windows

Iar avr studio

Також в AVR Studio є вікна для спостереження за вмістом пам'яті (Data, EEPROM, I / O, Program, Register). Відкривається в меню View> Memory Window або за допомогою іконки Toggle Memory Window.

Toggle Memory Window

Iar avr studio

Спостереження за ОЗУ може дати інформацію про ступінь використання стека. Тут є один момент. Компілятор IAR використовує 2 стека - RSTACK і CSTACK.

CSTACK або data stack - для збереження авто змінних у функціях, параметрів функцій. Покажчиком стека даних є реєстрова пара YH: YL.

Значення регістрів SP і Y відображаються в AVR Studio з лівого боку на вкладці Processor.

Розміри обох стеків задаються в IARe - Options> General Options> System.

І останнє. Якщо ви спробуєте змінити код програми з AVR Studio, у вас нічого не вийде. Код програми потрібно міняти в IARe. Вносимо зміни, компілюємо проект і перемикається в студію. Вона тут же запропонує вам оновити відкриті файли.

Схожі статті