ЗАСОБИ ПРОГРАМУВАННЯ І НАЛАГОДЖЕННЯ

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

Мови програмування

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

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

Мови низького рівня (Low-Level Language). Для мікроконтролера (процесора) єдино зрозумілим є мова кодових комбінацій, що утворюють систему його команд. Програмування на цій мові дозволяє:

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

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

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

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

Мова асемблера відноситься до машинно-орієнтованим мовам і вимагає хорошого знання архітектури мікроконтролера.

Гідність мов низького рівня (ассемблеров) - можливість створення ефективних і компактних програм завдяки тому, що розробник має доступ до всіх ресурсів мікроконтролера.

Недоліки - вимога знання архітектури та розуміння функціонування мікроконтролера, труднощі написання і налагодження великих програм, неможливість використання створеної програми на інший моделі мікроконтролера.

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

Мови високого рівня (High-Hevel Language) створювалися з орієнтацією на полегшення праці програмістів, тому в них використовуються терміни, які ближче до слів природної мови або до математичних формул, ніж до команд асемблера. Мови високого рівня дозволяють користувачеві складати програми, не маючи уявлення про ті дії, які здійснює мікроконтролер (процесор) під час виконання програми. Особливості конкретних архітектур в них не враховуються, тому що створюються програми на рівні вихідних текстів легко переносяться на інші платформи, для яких створено транслятор цієї мови. Розробляти програми на мовах високого рівня за допомогою зрозумілих і потужних команд значно простіше, а помилок при їх створенні допускається набагато менше. Кожна команда мови високого рівня еквівалентна кільком командам в машинних кодах, тому програми, написані на мовах високого рівня, більш компактні.

Мови високого рівня призначені для вирішення спільних завдань (проблем), і тому їх часто називають проблемно-орієнтованими мовами. Завдяки зазначеним вище достоїнств вони знаходять широке застосування при програмуванні мікроконтролерних систем управління.

 
< Попер   ЗМІСТ   Наст >