відладчик управляє мікроконтролером за допомогою інтерфейсу debugWIRE. Цей інтерфейс дозволяє вважати вміст всіх регістрів мікроконтролера та інших видів пам'яті. Прочитана інформація відображається на екрані комп'ютера. Потім відладчик чекає команд від оператора. Під управлінням відладчика мікроконтролер може примусово виконати будь-яку команду зі своєї системи команд. p align="justify"> Це дає можливість легко реалізувати покрокове виконання програми, а також виконання тих команд, які були замінені на break. Все управління здійснюється за допомогою інтерфейсу debugWIRE, який дозволяє передавати інформацію як від відладчика в мікроконтролер, так і в зворотному напрямку. p align="justify"> Перевагою такого способу налагодження є те, що в даному випадку відбувається не імітація мікроконтролера, а використовується реальна мікросхема. При цьому робота в режимі налагодження найбільш повно наближається до реального режиму роботи. p align="justify"> Недолік - часте В«перешіваніемВ» програмної пам'яті мікроконтролера. Змінювати вміст цієї пам'яті доводиться щоразу при встановленні нових або знятті старих точок зупину. Якщо врахувати, що допустима кількість перезапису програмної пам'яті становить 10000 циклів, то при тривалому процесі налагодження ця кількість може вичерпатися, і мікросхема вийде з ладу. p align="justify"> Програмне середовище В«AVR StudioВ»
Фірма Atmel, розробник мікроконтролерів AVR, дуже добре подбала про супроводі своєї продукції. Для написання програм, їх налагодження, трансляції та прошивки в пам'ять мікроконтролера фірма розробила і безкоштовно розповсюджує спеціалізовану середу розробника під назвою В«AVR StudioВ». Інсталяційний пакет цієї інструментальної програми можна вільно завантажити з сайту фірми. Адреса сторінки для скачування програм: # "justify"> В· порти введення-виведення;
В· таймери;
В· компаратори;
В· АЦП;
В· регістри загального призначення і т, д.
Вся інформація також пре дставлена ​​у вигляді дерева. Кожна В«гілкуВ» цього дерева - це окремий елемент. Якщо який-небудь елемент складається з інших елементів, то його можна розкрити і побачити ці елементи. p align="justify"> Елементи, що з'являються в результаті розкриття гілки, в свою чергу також можуть бути розкриті, якщо вони мають свій вміст. На рис. 2 в збільшеному вигляді показано дерево ресурсів мікроконтролера ATtiny2313. На малюнку кілька гілок спеціально розкриті, щоб можна було побачити їх складу. p align="justify"> Якщо яка-небудь гілка може бути розкрита, то в своєму підставі вона має квадратик з плюсик всередині. Подвійне клацання на цьому плюсике розкриває гілка. У розкритою гілки плюсик перетворюється на мінус. Повторний подвійне клацання по квадратику закриває розкриту гілку. p align="justify"> На рис. 2 для наочності розкриті гілки всіх трьох портів вводу-виводу і регістри, пов'язані з EEPROM. Ви можете бачити:
В· повний склад керуючих регістрів для кожного з пристроїв;
В· їх назви і адреси;
В· склад і назва кожного біта (якщо біти мають свої назви).
Для наочності на рис. 2 розкрита гілку, відповідна регістру EECR, і ви можете бачити всі його біти. p align="justify"> У процесі налагодження в цьому вікні ви побачите не тільки назву та склад усіх ресурсів, але і їх вміст. Вміст буде відображатися як в шістнадцятковому вигляді, так і шляхом затемнення квадратиків, що відображають окремі біти конкретних регістрів. p align="justify"> Затемнений квадратик означає, що біт, дорівнює одиниці. Світлий квадратик говорить про те, що біт, дорівнює нулю. Ви також можете оперативно змінювати цей вміст прямо в цьому вікні. Для зміни значення біта досить подвійного клацання мишки у відповідному квадратику. Існують і інші способи зміни вмісту різних регістрів і комірок пам'яті в процесі налагодження. p align="justify"> У нижній частині головної панелі знаходиться друге допоміжне вікно (вікно 2 на рис. 1). Це вікно служить, в основному, для виведення різних повідомлень. Воно також містить ряд вкладок. Типово їх чотири. Перша вкладка називається В«BuildВ». На вкладці В«Build" відображається процес трансляції. На цю вкладку виводяться повідомлення про різних етапах трансляції, повідомлення про синтаксичних помилках і різні попередження (Warnings). p align="justify"> Якщо трансляція закінчується нормально (відсутні критичні помилки), то сюди ж виводяться статистичні дані про отриманий результуючому коді. Ці дані показують розміри і відсоток використання всіх видів пам'яті мікроконтро...