налагодження програм

  • внутрісхемним емулятором
  • вбудованим програмним отладчиком
  • зовнішнім програмним отладчиком
  • налагоджувати пристроєм із записаним в пам'ять програм двійковим кодом програми

Внутрісхемний емулятор з відображенням змінних мови програмування на дисплеї комп'ютера надає значну допомогу при налагодженні програм безпосередньо на розроблюваної апаратурі. Цей метод налагодження надає найбільш зручне середовище, коли можна безпосередньо в налагоджувати пристрої зупиняти програму, контролювати виконання програми безпосередньо з початкового тексту програми, стан зовнішніх портів і внутрішніх змінних, як входять до складу мікросхеми, так і оголошених при написанні вихідного тексту програми. Відзначимо, що при налагодженні програми з використанням внутрисхемного емулятора необхідно включати в об'єктні модулі символьну інформацію. Необхідна для налагодження програм обладнання показано на малюнку 1.

налагодження програм

Малюнок 1. Приклад системи налагодження програмного забезпечення для мікроконтролерів

До недавнього часу внутрісхемний емулятор був окремим пристроєм, що підключається до розроблюваної платі замість мікроконтролера. До складу сучасних мікроконтролерів часто входить вбудований внутрісхемний емулятор. При цьому найбільш зручним інтерфейсом для зв'язку з комп'ютером є JTAG інтерфейс, хоча деякі фірми-виробники мікросхем пропонують свій інтерфейс.

При використанні інтегрованого середовища програмування надається зручний інтерфейс, що дозволяє легко налагоджувати розроблювану програму. В даний час стандартом де-факто став інтерфейс, схожий на програмну оболонку Visual C. Приклад зовнішнього вигляду такої програмної оболонки наведено на малюнку 2.


Малюнок 2. Приклад зовнішнього вигляду відладчика інтегрованої системи налагодження програмного забезпечення

Вбудований програмний відладчик. що входить до складу інтегрованого середовища програмування не дозволяє проконтролювати роботу апаратури, підключеної до зовнішніх ніжок мікроконтролера, але значно здешевлює оцінний комплекс, необхідний для написання програм для мікроконтролерів. Сигнали, які повинна подавати на мікроконтролер апаратура задаються самим програмістом (а значить вже на цьому етапі можливе виникнення помилок через неправильне розуміння роботи апаратури). Ручне введення цих сигналів значно уповільнює процес налагодження програмного забезпечення.

Зовнішній програмний відладчик. У деяких випадках використовується не інтегроване середовище програмування, а окремий транслятор з вибраної мови програмування. В цьому випадку можна скористатися будь-якою програмою, що емулює обраний тип мікроконтролера. Так як об'єктні формати різних трансляторів дещо відрізняються один від одного, то в якості вхідного файлу використовується завантажувальний модуль в довічним або гексадецімальном форматі. У цих форматах налагоджувальна інформація повністю відсутня, тому налагодження в таких програмах можна вести тільки за допомогою вбудованого дизассемблера і роздрукованого (або відкритого в іншому вікні) лістингу програми. Природно, що це ще більш незручний спосіб налагодження в порівнянні з використанням інтегрованого середовища програмування і внутрисхемного емулятора.

Програмування мікросхеми. При використанні будь-якого способу налагодження програми, готовий завантажувальний модуль записується на вбудовану пам'ять програм мікроконтролера за допомогою вибору програм (який входить до складу багатьох сучасних мікросхем мікроконтролерів). Після цього ведеться ретельне тестування розробленого пристрою з метою виявлення помилок в схемі і програмою цього пристрою. Тільки після успішного проходження цього тестування програма вважається повністю написаної і налагодженої.

При написанні досить простих програм іноді для налагодження програм використовують тільки цей останній етап тестування. Однак виявлення, пошук та усунення помилок при використанні тільки цього методу дуже трудомісткий! Це те ж саме, що намагатися налаштувати апаратуру без використання приладів!

Способи налагодження програм

Налагодження програм полягає в перевірці правильності роботи програми і апаратури. Програма, яка не містить синтаксичних помилок проте може містити логічні помилки, що не дозволяють програмі виконувати закладені в ній функції. Логічні помилки можуть бути пов'язані з алгоритмом програми або з неправильним розумінням роботи апаратури, підключеної до портів мікроконтролера.

Вбудований в склад інтегрованого середовища програмування відладчик дозволяє налагодити ті ділянки коду програми, що не залежать від роботи апаратури, яка не входить до складу мікросхеми мікроконтролера. Зазвичай це відноситься до обчислення математичних виразів або перетворення форматів представлення даних.

Для налагодження програм зазвичай застосовують три способи:

  1. Покрокова налагодження програм з заходом в підпрограми;
  2. Покрокова налагодження програм з виконанням підпрограми як одного оператора;
  3. Виконання програми до точки зупинки.

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

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

Якщо в програмі існує досить велика ділянка програми, вже налагоджений раніше, то його можна виконати, не контролюючи змінні, на які він впливає. Використання точок зупину дозволяє пропускати вже налагоджену частину програми. Точка зупину встановлюється в місцях, де необхідно перевірити вміст змінних або просто проконтролювати, передається чи управління даним оператору.

Практично у всіх відладчика підтримується ця властивість (а також виконання програми до курсора і вихід з підпрограми). Потім налагодження програми триває в покроковому режимі з контролем локальних і глобальних змінних, а також внутрішніх регістрів мікроконтролера і напруг на висновках цієї мікросхеми.

Практично всі отладчики дозволяють проконтролювати вміст робочих регістрів поточного банку.

Разом зі статтею "Багатомодульні програми" читають:

Схожі статті