- •1 Мікроконтролери
- •Історія розвитку мікропроцесорної техніки
- •Периферія
- •Система команд.
- •Типи пам'яті мк.
- •2 Інструментальні засоби
- •2.1 Симулятори
- •2.2 Інтегроване середовище розробки
- •Мова Ассемблера.
- •Мови програмування високого рівня.
- •2.3 Плати розвитку
- •Cистеми реального часу
- •Перелік посилань
2.2 Інтегроване середовище розробки
Ідея єдності програмного і апаратного забезпечення систем з урахуванням МК є дуже важливою. Об'єднання інструментальних засобів розробки програмного забезпечення з інструментальними засобами розробки апаратного забезпечення є важливою перевагою розробки пристроїв.
Істотно полегшують і прискорюють процес розробки та налагодження мікропроцесорних систем, так звані інтегровані середовища розробки. Вони поєднують у собі текстовий редактор для написання вихідних текстів, трансляторы з ассемблера і Сі, лінкер, отладчик, довідкову інформацію з МК й інші засоби, необхідні розробникові. Налаштування трансляторів, лінкера та інших компонентів виробляється не методом вказівки ключів в командної рядку, а вигляді діалогових вікон, де потрібна лише розставити «галочки» у потрібних місцях. Перетворення вихідних текстів програм, у файл машинних кодів запускається натисканням однієї клавіш.
Мова Ассемблера.
Перш ніж розпочати розробку якого або устрою на база МК дуже важливо ознайомитися з основами програмування мовою Ассемблера. Під час створення додатків для МК треба не лише освоїти його, а й навчитися добре розуміти, як крок по кроку виконується ваша програма, і що при цьому відбувається у устрої.
Щоб процес вивчення мови, написання і налагодження програм на Ассемблері був простим й зрозумілим, є кілька прийомів. По-перше – використання візуалізації процедур виконання команд процесором. По-друге – застосування методів структурного програмування, щоб зробити програми простішими для читання й розуміння.
Візуализацію виконання команд найкраще здійснювати, використовуючи структурну схему процесора чи МК, де відзначається проходження даних під час кожної команди.
Мови програмування високого рівня.
Для програмування МК можна використовувати різні мови високого рівня. Термін «мов високого рівня» служить для позначення мов, що використовуються написання легко читаємих програм, які конвертуються (компілюються) у мову ассемблера, та далі перетворюються на об'єктний код (біти, і байти) для їхнього виконання мікроконтролером.
Перерахуємо основні характеристики мов високого рівня:
наявність вбудованих функцій з подключаемимі бібліотеками;
всі можливі типи даних (8-, 16-, 32-бітні і з плаваючою точкою);
виконання арифметичних операцій із використанням стека;
використання локальних і глобальних змінних, покажчиків і структур даних;
розподіл пам'яті;
доступом до апаратним регістрам;
символічна інформація для симулятора/эмулятора.
обмежений обсяг пам'яті програм ROM і пам'яті даних RAM;
відсутність BIOS чи ОС;
переопределяємый ввод/вывод
Отже, використання ассемблера необхідно, якщо до розміру і швидкодії генерованого коду пред'являються дуже жорсткі вимоги. Нині таких випадків стає дедалі більше і від, так. практично можна взяти більш «швидкий» МК з більшим обсяг пам'яті. З іншого боку, сучасні пакети крос засобів дозволяють легко писати змішані програми, де частина модулів написана на Сі, а найбільш критичні до швидкодії частини – на ассемблері. Компилятори Сі дозволяють також вставляти в вихідні тексти ассемблерні інструкції.
Під час розробки програмного забезпечення для МК є кілька правил, які треба виконувати, щоб обсяг використовуваних ресурсів не перевищив доступні межі.
Використовувати лише один вид інтерфейсу з апаратними засобами (зовнішніми пристроями).застосування різних інтерфейсів створює проблеми, якщо знадобиться підключати інші типи зовнішніх пристроїв.
Ідентифікувати глобальні перемінні, специфічні для підпрограм, і використовувати їх деінде в коді.
Використовувати скрізь, де можливо, локальні перемінні (це можна зробити реалізувати лише у мовами високого рівня).
Якщо передбачається наявність тимчасово використовуваних змінних, то програма має забезпечити їх унікальне використання.
