Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕК_2.doc
Скачиваний:
10
Добавлен:
15.11.2019
Размер:
226.3 Кб
Скачать

12

Лекція № 2. Програмно інструментальні засоби розробки та відладки.

Лекція 2. Программно-инструментальные средства разработки и отладки

  • Переваги сучасних методів розробки

  • Класифікація засобів розробки

  • Засоби розробки для мікро контролерів фірм Microchip, Motorola, Philips, Texas Instruments.

  • Інтегровані середовища розробки для мікроконтролерів.

  • Засоби розробки для цифрових сигнальних процесорів та інших компонентів.

  • Програма тори.

  • Критерії вибору засобів розробки.

  • Інтегроване середовище програмування MPLAB-IDE.

  • Програмний стимулятор MPLAB SIM

  • Внутрісхемний відладчик MPLAB-ICD2

  • Демонстраційна плата PICDEM 2 PLUS

Современные программно-инструментальные средства разработки и отладки позволяют провести весь этап разработки электронного устройства- от выработки схемотехнического решения до выпуска полного набора конструкторской документации и моделирования физических процессов, происходящих в устройстве.

Преимущества современных средств разработки

Еще каких-нибудь 15-20 лет назад наиболее распространенным способом создания макета (прототипа) будущего устройства был "живой": подобрав электронные компоненты, разработчик брал в руки паяльник и собирал на макетных платах отдельные узлы или устройство в целом. Затем начинался процесс отладки: исправление ошибок принципиальной схемы, установка режимов работы, уточнение параметров применяемых компонентов и т.д. Этот вариант не потерял своей актуальности и по сей день, но применяется сейчас только при разработках относительно простых устройств, при производстве единичных экземпляров и при ограниченном бюджете разработки. Но если на первый план выходят такие критерии, как скорость, удобство и надежность разработки, то без профессиональных средств не обойтись.

К преимуществам использования средств разработки можно отнести:

  • уменьшение времени выхода готовой продукции;

  • уменьшение материальных затрат и риска при разработке;

  • использование собственных ресурсов для ускорения разработки;

  • свободное использование собственных разработок в дальнейшем;

  • доступность простейших исходных кодов для быстрого освоения и ознакомления с новым прибором.

Классификация средств разработки

По функциональному назначению средства разработки можно классифицировать следующим образом:

  1. Оценочные и демонстрационные платы (Evaluation & demonstration board). Позволяют быстро ознакомиться с тем или иным прибором или семейством приборов и в короткие сроки разработать на нем устройство.

  2. Внутрисхемные эмуляторы (In-circuit emulator). Наиболее мощные и универсальные отладочные инструменты, представляющие собой набор аппаратно-программных средств и позволяющие замещать собой эмулируемый микроконтроллер в реальной схеме.

  3. Программные симуляторы (Simulator). Программные средства, способные имитировать работу микроконтроллера и его памяти.

  4. Отладчики (Debugger). Своего рода мост между разработчиком и отлаживаемым устройством, позволяющий пользователю одновременно контролировать ход выполнения программы и видеть соответствие между исходным текстом, образом программы в машинных кодах и состоянием всех ресурсов эмулируемого микроконтроллера.

  5. Эмуляторы ПЗУ (ROM emulator). Программно-аппаратные средства, способные замещать ПЗУ на отлаживаемой плате путем подстановки вместо него ОЗУ и загрузки программы с помощью компьютера через один из стандартных интерфейсов.

  6. Программаторы (Programmer). Устройства, позволяющие программировать м/с памяти, микроконтроллеры и программируемые логические интегральные схемы.

  7. Интегрированные среды разработки (Integrated Development Environment). Реальные средства разработки часто объединяют в себе различные функции и режимы работы. Поэтому удобнее различать средства разработки по типу прибора (серии приборов), на работу с которым они ориентированы. Наиболее многочисленная группа средств разработки рассчитана на работу с микроконтроллерами, без которых сейчас редко обходится создание новых устройств. В настоящее время наибольшей популярностью в России пользуются микроконтроллеры таких производителей как Atmel, Microchip, Motorola, Philips, STMicroelectronics, Texas Instruments.

Cредства разработки для микроконтроллеров фирмы Atmel

ICE200 - внутрисхемный эмулятор фирмы Atmel для отладки устройств на МК семейства AVR (ATtiny12, AT90S2313, AT90S2333/4433, AT90S4414/8515, AT90S4434/8535). Эмулятор подключается к отлаживаемому устройству с помощью специальной эмуляционной головки и может использоваться с платами, на которых установлены панельки DIP8, DIP20, DIP28 и DIP40.

ATJTAGICE - внутрисхемный JTAG эмулятор с фоновой отладкой пользовательской программы, который может быть использован в качестве внутрисхемного программатора для микроконтроллеров AVR, имеющих JTAG-интерфейс. ATSTK500 - отладочная система, облегчающая работу с AVR-микроконтроллерами и обеспечивающая поддержку программирования через параллельный и последовательный интерфейсы. Дополнительно система может быть использована в качестве ISP-программатора. Используя интегрированную среду разработки AVR Studio (начиная с 3.2 или выше), ATSTK500 обеспечивает режимы симуляции и эмуляции, а также внутрисхемное программирование AVR-микроконтроллера. ATSTK501 - модуль расширения к ATSTK500, позволяющий увеличить список поддерживаемых устройств из семейства AVR: ATmega64, ATmega103, ATmega128. ATSTK502 - модуль расширения, разработанный для введения в ATSTK500 поддержки микроконтроллеров ATmega169. В ATSTK502 входят разъемы, перемычки и аппаратные средства для полной поддержки всех особенностей mega169, в т.ч. управление встроенным ЖКИ.

Cредства разработки для микроконтроллеров фирмы Microchip

DV164005 (MPLAB® ICD2) - внутрисхемный отладчик/программатор для МК серии PICmicro® , работающий почти со всеми Flash-микроконтроллерами серий PIC12F, PIC16F, PIC18F и dsPIC30F под управлением бесплатной и обновляемой универсальной среды разработчика MPLAB IDE. Для поддержки вновь появляющихся микроконтроллеров имеется возможность обновления ПО. DM163014 (PICDEMTM 4) - демонстрационная плата для изучения NanoWatt-микроконтроллеров с функциями сбережения энергии из семейств PIC16F и PIC18F в 8-, 14- и 18-выводных корпусах. Плата также поддерживает подключение внутрисхемного отладчика MPLAB® ICD2 что позволяет быстро отлаживать пользовательские программы и программировать микроконтроллер. DM163022 (PICDEM 2 Plus) - усовершенствованная демонстрационно-отладочная плата для Flash-микроконтроллеров серий PIC16хххх, PIC18хххх в 18-, 20- и 40-выводных корпусах. В комплект входит демонстрационная программа для PIC18F452, позволяющая превратить PICDEM 2 Plus в часы реального времени и комнатный термометр с выводом информации на встроенный ЖКИ. DM183020 - недорогая демонстрационная плата, идеально сочетающаяся с внутрисхемным отладчиком MPLAB® ICD2 для тех, кто хочет оценить возможности и производительность High-End линейки 8-ми битных микроконтроллеров PIC18Fxx20. DV164101 - недорогой стартовый набор для освоения Flash-микроконтроллеров серии PICmicro 12F629, 12F675, 16F630 и 16F676. Включает в себя плату PICkitTM1, подключаемую к компьютеру по USB-интерфейсу и может использоваться в качестве отладчика и программатора. Входящий в комплект CD-ROM содержит необходимое ПО, интегрированную среду разработчика MPLAB IDE, компилятор С HI-TECH PICC LiteTM и примеры программ.

Cредства разработки для микроконтроллеров фирмы Motorola

DSP56F803EVM - оценочный набор для ознакомления с архитектурой линейки 56800 и демонстрирующий возможности гибридного микроконтроллера DSP56F803. Наличие встроенного порта JTAG/OnCE позволяет отлаживать загруженную в МК или во внешнюю память программу пользователя.

MC56F8300DSK - демонстрационно-стартовая плата для гибридных микроконтроллеров серии 56F8300. На плате установлены МК 56F8323 с производительностью 60 MIPS и новый датчик электрического поля MC33794 для бесконтактного обнаружения объекта и его перемещения в пространстве. На плате также реализован JTAG-to-LPT конвертер, упрощающий отладку программ пользователя. Отладочный комплект MC56F8300DSK включает все необходимые составляющие для начала работы, в т.ч. CD с пакетом ПО CodeWarrior Development Studio с бесплатной лицензией для программ, объем которых не превышает 16Kбайт. M68DEMO908QT4 - демонстрационная плата для МК семейства Nitron (HC908Qx), позволяющая создавать новый код программы на ассемблере или Си, используя бесплатное ПО CodeWarriorTM Development Suite for HC08, отлаживать код в реальном времени и программировать МК.

Cредства разработки для микроконтроллеров фирмы Philips

EPM900 - внутрисхемный эмулятор и параллельный программатор для МК семейства P89LPC9xx Philips. На плате установлен МК P89LPC932, который по своим ресурсам перекрывает другие МК этой серии: P89LPC920/ 921/ 922 / 930/ 931. Для подключения этих микроконтроллеров на плате EPM900 предусмотрен интерфейс с целевой системой или с адаптером для программирования. PE-ICD900 - внутрисхемный эмулятор/программатор для микроконтроллеров семейства LPC900 Philips.

Cредства разработки для микроконтроллеров фирмы Texas Instruments

MSP-FET430P410 - мощный инструмент для программирования МК MSP430F412 и MSP430F413 с Flash-памятью. Программатор поставляется в сопровождении интегрированной программной среды - "IAR Kickstart", включающей: ассемблер, трассировщик, симулятор, низкоуровневый отладчик и ограниченный по размеру кода Си компилятор.

MSP-PRGS430 - последовательный программатор второго поколения с функцией внутрисхемного программирования МК серии MSP430 FLASH, OTP или UV-EPROM. ES149 - отладочная плата, позволяющая разработчику быстро освоить возможности микроконтроллера фирмы Texas Instruments MSP430F149. Плату можно подключать к программатору MSP-PRGS430.

Интегрированные среды разработки для микроконтроллеров

В настоящее время все большую популярность завоевывают так называемые интегрированные среды разработки (Integrated Development Environment) - совокупность программных средств, поддерживающая все этапы разработки программного обеспечения до ее компиляции и отладки, обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами. Примером может служить интегрированный пакет "Project" (Фирма Фитон) - объединение внутрисхемного эмулятора, программного отладчика-симулятора, компиляторов, текстового редактора, менеджера проектов и программатора в виде единой "интеллектуальной" среды разработки. На сегодняшний день разработаны и поставляются пакеты "Project", поддерживающие разработку и отладку систем на базе микроконтроллеров семейств: 8051, MCS-196, PICmicro, AVR Atmel, MSP430 Texas Instruments, Xemics, Sensory.

Средства разработки для цифровых сигнальных процессоров (ЦСП)

Это наиболее сложный и дорогой класс устройств, что объясняется не только высокой стоимостью самого процессора, но и потребностью в различных периферийных устройствах, без которых возможности ЦСП не будут использованы в разрабатываемой системе с максимальной эффективностью. В качестве периферии могут выступать: различные типы памяти объемом до нескольких мегабайт, аппаратная реализация различных интерфейсов с поддержкой соответствующих протоколов, включая USB и Ethernet, внешние АЦП и ЦАП с различной разрядностью, всевозможные датчики и источники опорных напряжений, стабилизаторы напряжений для питания цифрового ядра ЦСП и аналоговых цепей, и др. KIT-761119A-LF2407 - автономная плата eZdsp LF2407 DSK, позволяющая разработчику изучить возможности цифрового сигнального процессора TMS320LF2407 фирмы Texas Instruments и определить, отвечает ли он его требованиям. Благодаря встроенной оперативной памяти программ и данных объемом 32Кб возможно решение самого широкого спектра задач. Упрощение разработки кода и сокращение времени отладки обеспечивается символическим ассемблером и оконным отладчиком. Встроенный разъём JTAG обеспечивает подключение к эмуляторам, работающим с другими отладчиками. Все выводы процессора доступны пользователю. Совместимость с C2000 Code Composer от Texas Instruments.

TMDSDSK5416-OE - недорогой стартовый набор для ускорения разработки и отладки приложений на базе цифровых сигнальных процессоров семейства TMS320C54x фирмы Texas Instruments с возможностью подключения дополнительных модулей для расширения функциональных возможностей: конвертеров данных, макетных плат, интерфейсов ввода-вывода и других периферийных устройств. Разработчик может использовать высокую производительность устройства (160MIPS) для реализации таких функций как компрессия и декомпрессия голоса, распознавание голоса, конвертирование текста в речь, обработка факсимильных данных и гашение эха.

TMDX3P761128E - отладочная плата eZdsp LF2812 для разработки и отладки программ пользователя для процессора TMS320LF2812. Встроенные разъём и контроллер JTAG обеспечивает подключение к эмуляторам, работающим с другими отладчиками.

Средства разработки для других компонентов

Помимо средств разработки для микроконтроллеров и ЦСП существует множество других оценочных и отладочных плат для новых компонентов ведущих производителей. Например, такие компании как International Rectifier и IXYS большое внимание уделяют сопровождению своих силовых приборов.

IRPLDIM1E - демонстрационная плата балласта на базе м/с драйвера балласта IR21592 и корректора мощности на L6561D. К балласту можно подключить одну лампу типа Т8 мощностью 36Вт. Имеется функция защиты от ошибок с автоматическим рестартом. Диапазон питания балласта ~185-255В 50-60Гц. Коэффициент мощности 0,98. Максимальное выходное напряжение 750В. Время прогрева 1сек с напряжением 220В.

IRDCiP2001C - демонстрационная плата DC/DC-конвертера на основе 4-х фазного ШИМ-контроллера HIP6311 и четырёх ключей с интегрированным драйвером IP2001, позволяющего получить напряжения питания ядра процессора в диапазоне от 1.10V до 1.85V (шаг 0,025В) с токами потребления до 80А без охлаждения. Максимальный КПД - 91,5%, эффективная частота переключения - 2МГц (4х500кГц), входное напряжение от 5В до 12В.

EVDN404 - отладочная плата, содержащая в своём составе ИС драйвера затвора IXDN404 с предусмотренным местом под установку силового MOSFET-а. Отличительной особенностью драйверов является высокая динамическая нагрузочная способность и высокая скорость переключения емкостной нагрузки.

Программаторы

Особую группу средств разработки составляют программаторы. По функциональным возможностям программаторы условно можно разделить на следующие группы:

  • специализированные программаторы для микросхем памяти (EPROM, EEPROM, FLASH);

  • специализированные программаторы для микросхем памяти и внутренней памяти отдельных семейств микроконтроллеров;

  • универсальные программаторы микросхем памяти, внутренней памяти микроконтроллеров, микросхем программируемой логики (PLD).

Основные функциональные возможности современных программаторов:

  • тестовая колодка с нулевым усилием (ZIF- socket), обеспечивающая многократный надежный контакт с программируемой микросхемой в корпусе DIP;

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

  • возможность обновления ПО для расширения количества программируемых микросхем;

  • программная установка параметров программирования: Vccp, Vvpp;

  • самотестирование при включении питания;

  • тестирование правильности установки микросхем;

  • проверка качества контакта по всем выводам программируемой микросхемы;

  • защита всех выводов микросхемы от перенапряжения и статического электричества.

Компания "Терраэлектроника" представляет программаторы фирм "Elnec" (Словакия) и "Фитон" (г. Москва), удовлетворяющих всем требованиям, предъявляемые к современным программаторам. Среди новейших приборов можно выделить: BeeProg - универсальный сверхбыстрый программатор с интерфейсом USB и функцией ISP. Поддерживает более 11200 устройств, имеет функцию тестирования логических микросхем и статической RAM. MEMProg - универсальный программатор микросхем памяти (более 5300 программируемых устройств): EPROM (серии 27xxx, 27Cxxx), EEPROM (серии 28xxx, 28Cxxx, 27EExxx ), Flash EPROM (серии 28Fxxx, 29Cxxx, 29Fxxx, 29BVxxx, 29LVxxx, 29Wxxx, 49Fxxx), Serial EEPROM (серии AT17Сххх, 24Cxxx, 24Fxxx, 25Cxxx, 59Cxxx, 85xxx, 93Cxxx), конфигурационной памяти PROM серии 17xxx, энергонезависимой памяти NV RAM (серий Dallas DSxxx, SGS/INMOS MKxxx, Simtek STKxxx, Xicor 2xxx, ZMD U63x).

О выборе средств разработки

Необходимо сказать несколько слов по поводу выбора между средствами разработки зарубежных и отечественных производителей. При небольших различиях в своих функциональных возможностях первые, как правило, дороже, но сопровождаются очень подробными описаниями и примерами. Однако при приобретении отечественных изделий разработчикам становятся доступны русскоязычная техническая документация, а при необходимости - консультации и пояснения производителей. Можно обобщить отличительные особенности средств разработки, предлагаемые вниманию разработчиков компанией "Терраэлектроника":

  • перспективность использования на российском рынке;

  • поддержка возможно большего количества устанавливаемых приборов;

  • разнообразие встроенных интерфейсов (RS-232, IEEE1284/LPT, USB) и дополнительных компонентов, расширяющих функциональные возможности;

  • наличие на плате поля для макетирования и контактов для непосредственного подключения к выводам прибора;

  • возможность подключения дополнительных модулей;

  • хорошее соотношение высокой функциональности к цене;

  • наличие демонстрационных программ и примеров использования;

  • универсальное питание (питание от внешнего источника, интерфейсов ПК, батареи; наличие встроенных регуляторов напряжения).

Інтегроване середовище програмування mplab-ide. Рабочее окно среды mplab ide 6.0 с примером отладки программы показано на рис. 1.

Среда имеет удобный графический интерфейс, встроенный менеджер проектов и текстовый редактор с поддержкой выделения операторов и директив цветом, встроенный ассемблер и симулятор, поддержу новейших dsPIC. Среда позволяет подключать компиляторы Си как производства Microchip, так и других фирм. MPLAB IDE работает со всеми отладочными средствами Microchip, в том числе и ICD2 дебаггером.

Поддерживается установка точек останова, просмотр и изменение памяти данных и EEPROM.

Рисунок 1. 32-бит среда MPLAB IDE 6.0

Програмний Симулятор mplab sim

Симулятор MPLAB SIM дозволяє прослідкувати виконання програми мікро контролером на рівні команд по крокам або в режимі анімації. На довільній команді виконання програми може бути призупинено для перевірки та зміни пам’яті. Спеціальні функції дозволяють моделювати сигнали з логічними рівнями на входах мікро контролера.

Внутрісхемний відладчик mplab-icd2

 

Давно прошли те времена, когда разработчику микроконтроллерных систем, перед тем как приступить, собственно, к проектированию устройства, приходилось потратить не одну неделю на разработку и изготовление собственных средств отладки. Сейчас уже ни для кого не секрет, что вложение средств в покупку специализированных отладочных комплектов с лихвой окупается качеством и быстротой проектирования электронных устройств, уменьшением количества необходимых специалистов, а главное — скоростью выхода устройства на рынок. Всё это в конечном счёте помогает серьёзно экономить средства.

   Сейчас на рынке отладочных средств представлено огромное количество программаторов, дебаггеров-отладчиков, внутрисхемных эмуляторов, программных симуляторов и оценочно-демонстрационных плат отечественного и зарубежного производства. Поэтому в итоге выбор отладочного средства определяется лишь необходимыми функциональными возможностями и толщиной кошелька. Разумеется, чем дороже, тем функциональнее.

 Но так ли уж необходимо выкладывать большие деньги за все эти перечисленные средства отладки? Можно ли за небольшие деньги получить одно устройство сразу с несколькими функциями? Оказывается, можно. Это так называемые внутрисхемные дебаггеры. Этот класс устройств выполняет сразу несколько функций: внутрисхемного программатора и внутрисхемного отладчика-эмулятора.  

Что такое дебаггер и чем он отличается от эмулятора?

  Внутрисхемный эмулятор — программ- неаппаратное средство, способное замещать собой эмулируемый (отлаживаемый) микроконтроллер в разрабатываемой схеме. Это наиболее мощное и универсальное отладочное средство, работающее под управлением PC, упрощает подчас очень трудоёмкий процесс отладки и делает его удобным и наглядным для разработчика.   Этот класс устройств — наиболее мощный и функциональный. Основа эмулятора — это эмуляционный кристалл (или группа кристаллов) от фирмы – изготовителя микроконтроллеров. Эмуляционный кристалл представляет собой тот же самый чип микроконтроллера, для отладки которого он создан, но имеет дополнительные механизмы (а главное, выводы!) для доступа к внутренней памяти, периферийным модулям и служебным регистрам. Добавив к эмуляционному кристаллу интерфейс связи с персональным компьютером, память для хранения отлаживаемой программы, отладочной информации и точек останова, и разумеется, схемы управления, получим внутрисхемный эмулятор. Так же необходимо иметь программное обеспечение для персонального компьютера, под управлением которого внутрисхемный эмулятор и будет работать.

Достоинства эмулятора очевидны — быстрый и лёгкий доступ к “внутренностям” эмулируемого микроконтроллера, высокая скорость обновления отлаживаемой программы (поскольку реально она записывается не в программную память микроконтроллера, а в ОЗУ, которое подменяет память программ). Кроме того, только эмулятор позволяет работать с буфером трассировщика (память нескольких сотен последних реально выполненных микроконтроллером команд) и комплексными точками останова по сочетанию нескольких событий.   Но у эмуляторов также есть ряд недостатков. Во-первых, это большая сложность и высокая цена. Во-вторых, отладка основана на работе эмуляционного кристалла, хотя и близкого по технологии к серийным образцам, но всё же имеющего некоторые отличия. В третьих, для каждого нового семейства (группы) микроконтроллеров нужен новый эмуляционный кристалл, что ведёт к дополнительным материальным затратам. Ну и последнее — эмулятор не может выступать в качестве программатора для серийных изделий.

Внутрисхемный дебаггер так же, как и эмулятор, служит для внутрисхемной отладки микроконтроллеров, но принцип работы у него иной. Отладка осуществляется на штатном серийном микроконтроллере, при этом отлаживаемая программа записывается в штатную FLASH-программную память микроконтроллера. Для того, чтобы функционировал режим внутрисхемной отладки, в серийные образцы микроконтроллеров встраивают специальный механизм — ICD (In-Circuit Debugger). Для отладки этот механизм включается, а для серийных изделий жёстко выключен в конфигурационном слове микроконтроллера.

Принцип работы механизма следующий: во время работы микроконтроллера при достижении точки останова или при пошаговой отладке отрабатывается технологическое немаскируемое прерывание, и управление передаётся подпрограмме отладчика (она незаметно для пользователя дописывается в последние ячейки программной памяти). Эта подпрограмма выполняет функцию передачи через дебаггер в компьютер состояния ячеек памяти микроконтроллера, а также изменяет их состояние и переключает режимы работы по команде с компьютера. В результате, часть ячеек программы и регистров ОЗУ становится недоступной для отлаживаемой программы и резервируется для работы подпрограммы отладчика.

Таблица 1. Зарезервированные области памяти дебаггера MPLAB-IC2

Отлаживаемый микроконтроллер

Зарезервированные области ОЗУ данных

Зарезервированные области FLASH-программной памяти

PIC18F6720/8720

0xEF4 - 0xEFF

0x1FDC0 - 0x1FFFF

PIC18F6620/8620

0xEF4 - 0xEFF

0xFDC0 - 0xFFFF

PIC18F452/252/458/258

0x5F4 - 0x5FF

0x7DC0 - 0x7FFF

PIC18F448/248/442/242

0x2F4 - 0x2FF

0x3DC0 - 0x3FFF

PIC18C601/801

0x3F4 - 0x5FF

Нет

Помимо этого, при отладке также становятся недоступными:

  • 2 уровня стека (из 31);

  • порты ввода/вывода RB6 и RB7 (для программирования микроконтроллера и управлением режимами отладки);

  • вывод MCLR/Vpp (используется для программирования);

  • режим Low Voltage ICSP Prog-ram-ming принудительно выключается.

  Но следует заметить, что ограничения вносятся лишь при включенном режиме отладки. Если же программа очень большая, в этом случае можно порекомендовать отлаживать программу частями, а затем отключить режим отладки и полностью запрограммировать используемый микроконтроллер. При этом снимаются все налагаемые MPLAB-ICD2 ограничения, он работает в режиме обычного программатора.    Таким образом, с помощью MPLAB-ICD2 можно не только написать программу, отладить её на демонстрационной плате или же разрабатываемом устройстве, но и использовать ICD2 в качестве серийного программатора (в том числе, и внутрисхемного). А невысокая стоимость дебаггера делает его весьма привлекательным многофункциональным отладочным средством.

MPLAB ICD 2 работает под управлением мощной интегрированной среды проектирования MPLAB IDE. Для проектировщиков, которые не могут приобрести дорогостоящий полнофункциональный внутрисхемный эмулятор, MPLAB ICD 2 является оптимальным решением.

MPLAB ICD 2 позволяет разработчиком быстро найти и исправить допущенные ошибки. MPLAB ICD 2 включается между персональным компьютером (с работающей средой MPLAB-IDE) и устройством пользователя, выполняя функции интеллектуального интерфейса. Разработчик имеет возможность проверить работу микроконтроллера в устройстве, выполняя программу по шагам, в режиме анимации или режиме реального времени. MPLAB ICD 2 позволяет наблюдать за состоянием переменных, управляющих регистров и временем выполнения программы (в окне секундомера). Может быть назначена одна точка остановки выполнения программы. MPLAB ICD 2 поддерживает режим внутрисхемного программатора для Flash микроконтроллеров.

Основные функциональные характеристики MPLAB-ICD2:

  • Интерфейс вязи с PC: USB (2Мбит/с) или RS-232

  • Отладка программы микроконтроллера в реальном масштабе времени

  • Защита от перенапряжения и короткого замыкания

  • Обновление программного обеспечения с персонального компьютера

  • Поддержка низкого напряжения питания устройства (до 2В)

  • Диагностические светодиоды (питание, занят, ошибка)

  • Чтение/запись памяти программ и стека микроконтроллера

  • Стирание,  программирование и верификация памяти микроконтроллера

  • Приостановка работы для диагностических целей

Дебаггер-отладчик MPLAB ICD2 фирмы Microchip работает с новейшими популярными FLASH-микроконтроллерами PIC18FXXXX. Кроме того, как обещают разработчики дебаггера, в ближайшем будущем он также будет поддерживать 16-разрядные контроллеры семейства dsPIC30F, а также популярное семейство PIC16F87X. Отладчик имеет возможность обновления программного обеспечения для поддержки новых появляющихся микроконтроллеров.

Работает MPLAB ICD2 под управлением бесплатной универсальной среды разработчика MPLAB IDE, которая периодически обновляется для поддержки новых микроконтроллеров и переиздаётся на CD-ROM, а также доступна на сайте www.microchip.com. Причём ICD2 работает как со старыми 16-бит версиями MPLAB IDE 5.xx (поддерживается работа только через RS-232), так и с новыми 32-бит версиями MPLAB IDE 6.xx (поддерживается как RS-232, так и USB).

Отличительными особенностями дебаггера MPLAB ICD2 являются:

  • быстрая связь с компьютером через USB или RS-232;

  • стильный запоминающийся корпус, похожий на хоккейную шайбу (рис. 2);

  • три встроенных светодиода, характеризующих состояние дебаггера;

  • встроенная система внутрисхемного программирования отлаживаемого микроконтроллера;

  • обновление программного обеспечения.

  • задаваемая точка останова;

  • работа в пошаговом и режиме реального времени;

  • просмотр и модификация содержимого управляющих регистров, FLASH, RAM и EEPROM;

  • работа во всём диапазоне частот.

  Если дебаггер подключается к компьютеру через USB, то нет необходимости использовать дополнительный источник питания. Разумеется, что для питания отлаживаемой платы он всё-таки необходим. От отлаживаемой схемы дебаггер питаться не может. В случае питания дебаггера от внешнего источника питания (подключение через RS-232 или USB) дебаггер способен выдавать на выход напряжение 5 В, ток 150 мА, что позволяет запитывать маломощные отлаживаемые схемы.

 

Подготовка к работе и включение MPLAB-ICD2

  Подготовка к работе сводится к ин- сталляции программного обеспечения (интегрированной среды MPLAB) на компьютер и инсталляции драйверов USB (если вы собираетесь работать с ICD2 через USB). Кроме того, нужно подключить модуль ICD2 к компьютеру при помощи прилагаемого кабеля, а также источник питания (при работе через RS-232) или к отлаживаемой плате (при работе через USB). Отлаживаемая плата соединяется с ICD2 через входящий в комплект короткий ленточный кабель с пластмассовыми разъёмами, напоминающий телефонный провод. Разумеется, на плате должен стоять ответный 6-контактный телефонный разъём, соединённый с отлаживаемым микроконтроллером. Второй вариант — использовать плату-переходник (header), на которой установлена колодка под PIC18F, телефонный разъём для подключения ICD и штыри-контакты для установки всей конструкции в отлаживаемую плату. В этом случае микроконтроллер устанавливается в отлаживаемое устройство через такой переходник, позволяющий подключить ICD2, не переделывая основную плату устройства. Переходник можно приобрести (номер для заказа AC162051) или изготовить самостоятельно.   В сборе должно получиться что-то похожее на рис. 2. Причём, поскольку использовано подключение через USB, источник питания необходимо подключить к отлаживаемой плате. Остаётся только подать питание и запустить среду MPLAB-IDE на компьютере.

Для того, чтобы начать писать программу, в интегрированной среде MPLAB IDE необходимо создать проект. При этом необходимо выбрать тип микроконтроллера и отладочного средства (в нашем случае, ICD2). После этого будет предпринята попытка установить связь компьютера с ICD2. Если появилось сообщение об ошибке, необходимо зайти в меню свойств ICD2 и проверить правильность выбора порта (COM или USB).

Теперь можно написать простейшую программу (например, мигание светодиодом) и откомпилировать её. Если программа откомпилировалась без ошибок, можно переходить к самому интересному — внутрисхемной отладке. Для этого необходимо загрузить откомпилированную программу в отлаживаемый контроллер, для чего кликнуть по надписи “Program”. Возможно, потребуется на вкладке параметров программирования поменять значения битов конфигурации (WDT, CP и др.). После успешной записи и сверки можно кликнуть по иконке сброса, при этом на исходном тексте программы появится серая полоска указателя текущей команды. Теперь можно запустить пошаговую отладку, выполнение в реальном времени, попробовать изменить содержимое ОЗУ/EEPROM, установить точки останова.

Несколько коротких рекомендаций:

  • если дебаггер успешно программирует кристалл, но при попытке сброса и пошаговой отладки выдаёт ошибку связи, проверьте соответствие типа генератора в конфигурационном слове (HS, XT, RC и так далее), реально используемом на отлаживаемой плате;

  • скорость работы пошаговой отладки можно увеличить, ограничив количество обновляемых регистров ОЗУ при отладке;

  • если ваша программа небольшая, есть смысл изменить конечный адрес программной памяти на вкладке опций программирования ICD2. В этом случае каждый раз при изменении программы будет переписываться не вся программная память, а лишь её часть, что уменьшит время программирования микросхемы;

  • используйте соединение USB — скорость отладки возрастет;

  • не забывайте обновлять “прошивку” ICD2!

 

 Демонстраційна плата для відладки PICDEM 2 PLUS

Очень часто основным фактором, влияющим на успех разработки, является скорость выхода изделия на рынок. Поэтому так важно начать разработку программы как можно раньше, ещё до того, как будет разработано и изготовлено “железо” макетного образца. Также в начале проектирования порой бывает неясно, какой вариант реализации того или иного узла предпочтительней, какой интерфейс передачи данных предпочесть и т.п. В этих и других подобных ситуациях на помощь программисту микроконтроллерных систем приходят отладочные платы. Это изделия, содержащие все необходимые компоненты для работы микроконтроллера (цепи питания, сброса, тактового генератора). Кроме того, на плате содержатся периферийные схемы и устройства (ЖКИ-индикатор, светодиоды, клавиатура, часы реального времени, периферийные микросхемы: CAN, RS-232, I2C, SPI и так далее), а также макетное поле, где при необходимости можно спаять свою часть схемы. Другими словами, имея такую плату, программист имеет всё необходимое для начала разработки и внутрисхемной отладки программы. Такие платы могут быть также рекомендованы для обучения программированию микроконтроллерных систем.

Эта демонстрационная плата фирмы Microchip (рис. 2) имеет ICD-разъём, ЖКИ-индикатор, звуковой излучатель и температурный датчик. PICDEM 2 Plus позволяет разработчику быстро приступить к созданию и отладке программ для 18-, 28- и 40-pin FLASH-микроконтроллеров PICmicro. В комплект входит демонстрационная программа для PIC18F452, демонстрирующая возможности ядра и периферии новых контроллеров PICmicro. Демонстрационная программа также может превратить плату в часы реального времени и комнатный термометр, причём показания часов и температуры выводятся на встроенный ЖКИ-индикатор. Встроенный динамик управляется непосредственно выходом ШИМ-микроконтроллера, что даёт возможность генерации различных звуков и мелодий. На плате есть встроенный RS-232 порт и макетное поле для монтажа собственных схем. В комплекте поставляется второй микроконтроллер PIC16F877, для которого можно разрабатывать и отлаживать программы.

Программное обеспечение, входящее в комплект поставки, позволяет разработчику разобраться в принципах написания программ, детально проанализировать алгоритмы работы, а затем использовать в своих собственных разработках. Кроме того, пользователи внутрисхемного дебаггера — отладчика MPLAB ICD2 имеют возможность “на лету” изменять работу программы по своему желанию.    Демо-плата PICDEM 2 Plus поставляется отдельно (номер для заказа DM163022), или же входит в комплект поставки MPLAB ICD2, в который также входит источник питания и кабели USB и RS232. В последнем варианте номер для заказа — DV164006.

Рисунок 2. Дебаггер MPLAB-ICD2 и демо-плата PICDEM 2 Plus

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]