- •1 Мікроконтролери
- •Історія розвитку мікропроцесорної техніки
- •Периферія
- •Система команд.
- •Типи пам'яті мк.
- •2 Інструментальні засоби
- •2.1 Симулятори
- •2.2 Інтегроване середовище розробки
- •Мова Ассемблера.
- •Мови програмування високого рівня.
- •2.3 Плати розвитку
- •Cистеми реального часу
- •Перелік посилань
2.1 Симулятори
Зазвичай, стимулятор складаються з отладчика, моделі ЦП і пам'яті. Більше складні мають моделі вбудованих периферійних пристроїв (таймерів, портів, АЦП і систем переривань).
Симулятор мусить уміти завантажувати файли програм, у всіх популярних форматах, якнайповніше відображати інформацію про стан ресурсів симулюемого МК, і навіть надати можливість по симуляції виконання загружаемої програми у різних режимах. У процесі налагодження модель виконує програму, й монітора комп'ютера відображає поточний стан моделі.
Завантаживши програму стимулятор, користувач може запускати її пошаговому чи безупинному режимі, ставити умовні чи безумовні точки зупинки, контролювати та вільно модифікувати вміст осередків пам'яті і регістрів симулируемого МК. Симулятор дозволяє швидко перевірити логіку виконання програми, правильність виконання арифметичних операцій.
Залежно від класу використовуваного отладчика деякі моделі симуляторів підтримують високорівневе символьне налагодження програм.
Симулятор може містити і кілька додаткових програмних засобів, наприклад інтерфейс довкілля. Наявність такої інтерфейсу дозволяє створювати й гнучко використовувати модель довкілля МК, що існує і що впливає на налагоджуему програму з заданим алгоритмом.
В реальній системі мікроконтролер зазвичай займається зчитуванням інформації з підключених зовнішніх пристроїв (датчиків), обробкою цієї інформації і видачею керуючих впливів на виконавчі пристрої. Щоб в симуляторі у якого немає інтерфейсу зовнішнього середовища, змоделювати роботу датчика, потрібно вручну змінювати поточний стан моделі периферійного пристрою, до якого в реальній системі підключений датчик. Якщо, наприклад, при прийомі байта через послідовний порт зводиться деякий прапорець, а сам байт потрапляє в певний регістр, то обидва ці дії потрібно робити в такому симуляторі вручну. Наявність же інтерфейсу зовнішнього середовища дозволяє користувачеві створювати і гнучко використовувати модель зовнішнього середовища мікроконтролера, функціонуючу і взаємодіючу з налагоджуемою програмою за заданим алгоритмом. Можливості "реального" відладчика-симулятора проілюструємо на прикладі моделі PDS-PIC.
.
Отладчик-симулятор для розробки та налагодження програм на базі мікроконтролерів PIC16 / PIC17
PDS-PIC - зручний і гнучкий засіб для написання і налагодження програм, орієнтованих на мікроконтролери PICmicro фірми Microchip.
Симулятор має:
• Вбудований багатовіконний редактор для написання вихідних текстів програм. Редактор підтримує операції з блоками тексту, пошук / заміну, колірне виділення синтаксичних конструкцій мови асемблера;
• Вбудований менеджер проектів, що підтримує автоматичну компіляцію програм, написаних для макроассемблера PASM-PIC фірми Фитон і для макроассемблера MPASM фірми Microchip.
• Всі опції асемблера задаються у вигляді зручних діалогів. Перехід від редагування вихідного тексту до налагодження і назад відбувається "прозоро", тобто менеджер проектів автоматично запускає асемблер при необхідності;
• Широкі можливості по налагодженню програм: відстеження виконання програми з її початкового тексту, перегляд та зміна значень будь-яких змінних, вбудований аналізатор ефективності програмного коду, точки зупину за умовою і доступу до осередків пам'яті, перегляд стека викликів підпрограм, вбудований асемблер, точний підрахунок інтервалів часу та багато іншого;
• Можливість виконання програми "назад" на велику кількість кроків, а також в безперервному режимі. При цьому стан моделі мікроконтролера повністю відновлюється;
• Точну модель поведінки мікроконтролерів. Симулюється робота всіх вбудованих в мікроконтролер периферійних пристроїв: таймерів, АЦП, системи переривань, портів і т.д .;
• Розвинені засоби моделювання "зовнішнього середовища", тобто пристроїв, підключених до мікроконтролера. Можна легко задавати різні періодичні і неперіодичні зовнішні сигнали на ніжках мікроконтролера, моделювати роботу зовнішньої логіки. За допомогою вбудованих засобів графічного відображення можна наочно відображати різні індикатори, будувати графіки, моделювати клавіатуру;
• Систему збереження конфігурації вікон і параметрів настроювання. Можливо збереження та відновлення необмеженої кількості файлів конфігурації;
• Можливість налаштування кольорів і шрифтів та інших параметрів для всіх вікон одночасно і для кожного вікна окремо;
• Систему контекстної допомоги. Перебуваючи в будь-якому меню, вікні або діалозі, Ви можете отримати довідку, що відноситься до цього меню, вікна або діалогу;
• PDS-PIC працює в середовищі Windowsв.
Більш докладно особливості симулятора представлені в таблиці, складеної за результатами порівняльного аналізу двох симуляторів: MPlabSIM -фірми Microchip і PDS-PIC - фірми Фитон. Основні особливості та відмінності MPlabSIM і PDS-PIC обумовлені тим, що при їх проектуванні були використані концептуально різні інтерфейси користувача і середовища для симуляції.
|
MPlabSIM |
PDS-PIC |
Управління |
||
Мишка |
Так |
Так |
Система меню |
Так |
Так |
«гарячі клавіші» |
Так |
Так |
Через модель зовнішнього середовища |
немає |
Так |
Точки зупину |
||
По адресі виконуваного коду |
Так |
Так |
По вмісту регістрів |
Так |
Так |
При змінні значення виразу |
Немає |
Так |
При виконанні логічної умови |
Немає |
Так |
Моделююмі події |
||
Синхронні |
Так |
Так |
Асинхронні |
Немає |
Так |
Тимчасове розміщення |
4 цикла команд |
1 цикл команд |
Ресурси процесора |
||
Reset |
без затримкм включення |
Повністю |
Interrupt |
Повністю |
Повністю |
Timer0 |
Тільки синхронно |
синхронно/асинхронно |
Timer1 |
Тільки синхронно |
синхронно/асинхронно |
Timer2 |
Повністю |
Повністю |
CCP1 |
Повністю |
Повністю |
CCP2 |
Повністю |
Повністю |
PWM1/2 |
Без високої роздільної здатності |
Повністю |
PSP |
Тільки синхронно |
синхронно/асинхронно |
SSP |
Повністю |
тільки регістри и флаги преривання |
I2C |
Тільки регістри |
Тільки регістри |
SCI |
Часові затримки |
Тільки регістри |
EEROM |
Без захисної послідовності |
Повністю |
ADC |
Тільки затримки та регістри |
Повністю |
Comparators |
Тільки регістри |
Повністю |
Vref |
Тільки регістри |
Повністю |
RC generator |
Чатота постійна |
частота задається незалежно від частоти тактового генератора |
Модуль АЦП |
Тільки затримки |
регистри для аналогових входів |
Моделювання зовнішніх впливів |
||
установка заданих значень на вході порту введення / виводу |
Тільки синхронно |
синхронно/асинхронно |
пряма запис в регістри |
Так |
Так |
Циклічні впливи |
Так |
Так |
Асинхронні впливи |
взаємозв'язок між входом і кнопкою у відповідному діалозі |
Так |
опис (завдання впливів) зовнішнього середовища алгоритмічно |
Немає |
Так |
зовнішні аналогові сигнали |
Немає |
Так |
Додаткові можливості |
||
прогін програми назад (backtrace) |
Немає |
|
аналізатор ефективності виконання програмного коду (profiler) |
Немає |
|
можливості графічного відображення процесів |
Немає |
|
швидкодія |
400 команд/сек |
1000 000 команд/сек |
Очевидна особливість програмних симуляторів у тому, що завантажені програми виконуються у іншому масштабі часу, відмінному від реального. Проте низька ціна, можливість налагодження навіть за відсутності макета налагоджуемого пристрою роблять програмні симулятори дуже привабливим засобом налагодження. Необхідно також відзначити, що є цілий клас помилок, які можна знайти лише за допомогою симулятора.
