ид отладчиков - апаратний відладчик. Основа такого відладчика - спеціальна плата, що підключається до комп'ютера, що працює під його керуванням та імітує роботу реальної мікросхеми мікроконтролера. Плата має висновки, відповідні висновків реальної мікросхеми, на яких в процесі налагодження з'являються реальні сигнали. p align="justify"> За допомогою цих висновків отладочная плата може бути включена в реальну схему. Виникаючі в процесі налагодження електричні сигнали можна спостерігати за допомогою осцилографа. Можна натискати реальні кнопки і спостерігати роботу світлодіодів та інших індикаторів. p align="justify"> У той же самий час на екрані комп'ютера ми так само, як і в попередньому випадку, можемо бачити всю інформації про налагоджують програму:
В· спостерігати вміст регістрів, ОЗУ, портів вводу-виводу;
В· контролювати хід виконання програми.
В апаратному відладчик ми можемо так само, як і в програмному, виконувати програму в покроковому режимі і застосовувати точки зупину. Недоліком апаратного відладчика є його висока вартість. p align="justify"> Повнофункціональні програмні імітатори електронних пристроїв
Існує і третій вид отладчиков. Це повнофункціональні програмні імітатори електронних пристроїв. Такі програми дозволяють на екрані комп'ютера В«зібратиВ» будь-яку електронну схему, що включає в себе самі різні електронні компоненти:
В· транзистори;
В· резистори;
В· конденсатори;
В· операційні підсилювачі;
В· логічні і цифрові мікросхеми, в тому числі і мікроконтролери.
Такі програми зазвичай містять великі бази електронних компонентів і конструктор електронних схем. Зібравши схему, ви можете віртуально записати в пам'ять мікроконтролера вашу програму, а потім В«запуститиВ» всю схему в роботу. p align="justify"> Для контролю результатів роботи схеми імітатор має віртуальні вольтметри, амперметри та осцилографи, які ви можете В«підключатиВ» до будь-якій точці вашої схеми, В«вимірюватиВ» різні напруги, а також В«зніматиВ» тимчасові діаграми. p>
Такі програми в даний час отримують все більше поширення. Вони дозволяють розробити будь-яку схему з мікро або без нього, без використання паяльника і реальних деталей. На екрані комп'ютера можна повністю налагодити свою схему і лише потім братися за паяльник. p align="justify"> Недоліком даного відладчика є те, що він вимагає значних обчислювальних ресурсів. Особливо в тому випадку, коли налагоджували схема, що включає як мікроконтролер, так і деяку аналогову частину. Крім того, імітатор не завжди вірно імітує роботу деяких пристроїв. Однак подібні програми мають дуже великі перспективи. У рамках даної книги я не буду розглядати подібну програму, так як така задача гідна окремої книги. p align="justify"> Внутрішній відладчик мікроконтролерів AVR
Ще один апаратний спосіб налагодження закладений конструктивно в деякі моделі мікроконтролерів AVR. Зокрема, мікроконтролер ATtiny2313 підтримує такий спосіб налагодження. p align="justify"> Для забезпечення можливості апаратного налагодження такі мікроконтролери мають, по-перше, спеціальну однопровідну лінію debugWIRE, яка зазвичай поєднана з входом RESET. Ця лінія використовується спеціальною платою-отладчиком для управління мікроконтролером в процесі налагодження. Крім того, в систему команд такого мікроконтролера включена команда break, яка може використовуватися для створення програмних точок зупину. p align="justify"> Для того, щоб використовувати подібний режим налагодження, необхідно мати в своєму розпорядженні спеціальну отладочную плату, яка повинна підтримувати цей режим. Крім того, подібний режим повинна підтримувати і інструментальна програма-відладчик. p align="justify"> У процесі налагодження програміст проставляє на екрані комп'ютера в потрібних місцях налагоджують програму точки зупину. Потім він запускає цю програму під управлінням відладчика. Отладчик автоматично вставляє в відладжувану програму команди break в тих місцях, де програміст поставив точки зупину. А команди, які повинні бути записані в місці вставки команд break, запам'ятовує в своїй пам'яті. p align="justify"> Потім він автоматично В«прошиваєВ» отриманий таким чином текст програми в програмну пам'ять отлаживаемого мікроконтролера і запускає її в роботу. Мікроконтролер виконує закладену в нього програму до тих пір, поки не зустрінеться команда break. Отримавши цю команду, мікроконтролер призупиняє виконання програми і передає управління відладчику. p align="justify"> Далі ...