ТОП 10:

Внутрісхемний програматор ATAVRISP



 

Як уже говорилося, мікроконтролери AVR мають кілька режимів програмування: паралельний режим з використанням підвищеної програмуючої напруги, послідовний режим з використанням підвищеної програмуючої напруги і режим послідовного внутрісхемного програмування.

Можливість внутрісхемного програмування мікроконтролерів AVR по послідовному синхронному інтерфейсу SPI дозволяє створювати прості і недорогі програматоры. Такі програматоры називають внутрісхемними (In-System Programmer, ISP).

Для реалізації внутрісхемного програмування компанія Atmel випускає і підтримує внутрісхемний програматор ATAVRISP. ATAVRISP підтримує всі мікроконтролери, що випускаються на сьогоднішній день, AVR, що мають функцію внутрісхемного програмування. Керування цим внутрісхемним програматором здійснюється через COM-порт персонального комп'ютера. Живлення на ATAVRISP подається від цільового пристрою.


Рис.2.20. Внутрісхемний програматор ATAVRISP.

 

Подібно стартовому наборові розроблювача STK500, внутрісхемний програматор ATAVRISP реалізований на двох мікроконтролерах - 90S1200-12SC і 90S8535-8AC, і працює під керуванням AVR Studio. Керуюча програма викликається в меню Tools > STK500/AVRISP/JTAGICE > STK500/AVRISP/JTAGICE.

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

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

· Fuses. Дозволяє зчитати стан керуючих бітів мікроконтролера, і при необхідності, запрограмувати їх. Операцію установки FUSE бітів потрібно завершувати натисканням кнопки Program на закладці Fuses.

· LockBits. Надає доступ до бітів захисту пам'яті програм мікроконтролера від несанкціонованого зчитування або модифікації. Операцію установки LOCK бітів потрібно завершувати натисканням кнопки Program на закладці LockBits.

· Advanced. Дозволяє зчитати сигнатуру цільового мікроконтролера. Тут же може бути задане значення каліброваного байта для внутрішнього RC-генератора мікроконтролера.

· Board. Ця закладка призначена для керування STK500 і була описана вище.

· Auto. Дозволяє вибрати кілька функцій програмування і верифікації і запускати їх у пакетному режимі.


Рис.2.21. Вікно керуючої програми внутрісхемного програматора ATAVRISP

 

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

При роботі з цільовим мікроконтролером, програматор ATAVRISP крім ліній внутрісхемного програмування (MOSI, MISO, CLK) використовує вивід /RESET, GND, а також лінію живлення (VTG) по який здійснюється живлення програматора.

Всі описані функції програмування мікроконтролера також можуть бути виконані на платі STK500 у послідовному, а також, на відміну від ATAVRISP, у паралельному режимі.

ATAVRISP поставляється в комплекті з диском AVR Software and Technical Library, кабелем для підключення до COM-порту комп'ютера, двома кабелями (з 10- і 6-контактним роз’ємами) для підключення до цільової плати. Живлення програматора здійснюється від цільового пристрою по лініях VTG і GND.

Уся необхідна інформація з підключення і використання програматора AVRISP включена у вбудований файл довідки AVR Studio.

 

2.3.8. Внутрісхемні емуляторы

 

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

В даний момент компанія Atmel пропонує 2 типи внутрісхемних емуляторів.

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

Другий тип має на увазі використання мікроконтролера AVR, що має всі необхідні для внутрісхемного налагодження апаратні блоки і керованого зовнішнім налагоджувачем. На даний момент цей тип налагоджувачів представлений пристроєм ATJTAGICE mkII (читається "Марк два").

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

Внутрісхемні емулятори ICE40, ICE50.

Внутрісхемні емуляторы ICE40 і ICE50 являють собою класичні внутрісхемні емулятори. Розходження емуляторів складається в кількості підтримуваних мікроконтролерів.

Список підтримуваних емулятором ICE50 мікроконтролерів дуже широкий: ATmega128/CAN128, ATmega165/325, ATmega169/329/649, ATmega48/88/168, ATmega162, ATmega8/16/32/64, Atmega8515/8535, ATtiny26, ATtiny13, ATtiny2313.

Емулятор ICE40 підтримує набагато меншу кількість мікроконтролерів, а саме мікроконтролери ATtiny26, ATmega8, ATtiny13.


Рис.2.22. Зовнішній вигляд внутрісхемних емуляторів ICE40/ICE50

 

Для підтримки різних мікроконтролерів, мається набір виносних плат (адаптерів) для пайки або установки в DIP-панель для мікроконтролера на цільовій платі (див. рис. 2.23). Для мікроконтролерів AVR, що не випускаються в DIP-корпусах, адаптер (ATADAP64BOT) призначений для припаювання на площадку під корпус TQFP. По типу підключеного адаптера ICE40/50 автоматично визначає, який мікроконтролер буде емулюватися. Адаптери для підтримки мікроконтролерів ATtiny13, ATmega169/329/649, ATmega165/325 у комплект емулятора ICE40/50 не входять, а замовляються окремо.


Рис.2.23. Зовнішній вигляд виносних плат емулятора ICE40/50

 

Емулятори ICE40 і ICE50 виконують наступні функції:

· Емуляція аналогової і цифрової периферії мікроконтролера

· Робота в діапазоні напруг від 2,2 В до 5,5 В

· Перегляд значень регістрів вводу-виводу

· Перегляд реєстрового файлу, пам'яті програм, даних і EEPROM

· Запис траси

· Необмежена кількість точок останова

· Налагодження по тексту програми мовою високого рівня

· Лічильник часу виконання програми

Керування налагодженням виробляється в інтегрованому середовищі розробки AVR Studio. Як програму для роботи мікроконтролера може використовуватися відлагоджувальний об'єктний код у форматі UBROF8 або COFF, а також програма на асемблері. Підключення емулятора до комп'ютера виконується через COM-порт.

Однієї зі зручних функцій, реалізованих у ICE40/50, є можливість запису траси, тобто збереження послідовності виконання інструкцій мікроконтролером. Аналіз записаної траси дозволяє виявити ділянки коду, виконання яких по тим або інших причинах не відбувається (Code Coverage Analysis). Такий аналіз дуже корисний при налагодженні програм, що містять кілька процедур обробки переривань, особливо якщо вкладеність переривань не дозволене.

У ICE50 реалізований режим діагностики вузлів внутрісхемного емулятора. Для здійснення діагностики необхідно установити тестову панель на плату відлагоджувального кристала й у AVR Studio вибрати пункт меню Tools -> ICE50 Selftest. Після запуску процесу діагностування (кнопка Run) послідовно перевіряються усі вузли і режими внутрісхемного емулятора. Якщо при цьому визначається, що на платі керування утримується застарілий варіант внутрішнього мікрокоду (firmware), то програма діагностики запропонує автоматично обновити конфігурацію ПЛІС і пам'яті програм мікроконтролера. Також можливо зробити ручне відновлення мікрокоду ICE50, вибравши пункт меню Tools -> ICE50 Upgrade.

 

2.3.9. Внутрісхемний емулятор ATJTAGICE mkII (ATJTAGICE2)

 

Альтернативою внутрісхемної емуляції є режим фонового налагодження. В англомовній літературі цей режим позначається терміном "On-Chip Debugging", або OCD.

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

Для підтримки режиму "On-Chip Debugging" (OCD) блок керування налагодженням повинен бути частиною самого відлагоджуваного мікроконтролера. Керування фоновим налагодженням у мікроконтролерах AVR здійснюється по JTAG-інтерфейсу, сумісному зі стандартом IEEE1149.1, або однопровідному інтерфейсові debugWIRE, що є власною розробкою компанії Atmel.

Блок OCD з керуванням по інтерфейсу JTAG міститься в мікроконтролерах ATmega128/CAN128, ATmega16/32/64, ATmega162, ATmega165/325, ATmega169/329, ATmega3250/3290. Блок OCD з керуванням по інтерфейсу debugWIRE міститься в мікроконтролерах ATmega48/88/168, ATtiny13, ATtiny2313, ATtiny45.

Під керуванням блоку OCD у мікроконтролерах AVR виробляється виконання програмного коду і доступ до усіх регістрів мікроконтролера в режимі фонового налагодження.

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

Пристроєм, що реалізує протокол керування, є ATJTAGICE mkII (ATJTAGICE2).


Рис.2.24. Зовнішній вигляд внутрісхемного емулятора ATJTAGICE mkII

 

Внутрісхемний емулятор ATJTAGICE mkII підключається до персонального комп'ютера по COM або USB інтерфейсах. При підключенні по USB інтерфейсу не потрібне використання зовнішнього джерела живлення. Робити з'єднання емулятора з комп'ютером і цільовим мікроконтролером необхідно при виключеному живленні всіх трьох пристроїв (при підключенні по інтерфейсі USB досить установити вимикач живлення ATJTAGICE mkII у положення ВИКЛЮЧЕНЕ). У противному випадку можна вивести з ладу вихідні каскади емулятора.

При використанні інтерфейсу USB для підключення ATJTAGICE mkII до комп'ютера, передача команд виробляється істотно швидше, ніж при використанні COM-порту.

Як керуючу програму для роботи ATJTAGICE mkII і OCD мікроконтролера використовується інтегроване середовище розробки AVR Studio. Більш докладну інформацію з можливостей і використання ATJTAGICE mkII можна знайти у вбудованому файлі довідки AVR Studio.

Крім забезпечення режиму фонового налагодження, емулятор ATJTAGICE mkII може бути використаний у якості внутрісхемного програматора для мікроконтролерів AVR. Програмування може здійснюватися по інтерфейсах JTAG або SPI. Для програмування, а також налагодження, по інтерфейсу JTAG одночасно декількох пристроїв потрібно з'єднати пристрої в дейзі-ланцюжок. Після цього необхідно вказати AVR Studio наявність декількох мікроконтролерів у меню Tools > STK500/AVRISP/JTAGICE > STK500/AVRISP/JTAGICE > Advanced > JTAG Daisy Chain Settings.

Альтернативою описаним вище внутрісхемним емуляторам і відлагоджувачу може служити інтегрований у AVR Studio програмний симулятор, що робить емуляцію програмним способом.

 







Последнее изменение этой страницы: 2016-08-26; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.226.243.36 (0.006 с.)