Українська      English    Registration   |  
 Customer Login   
By the cast     Site search
  Example: PIC12F629
Home - Publications - Publications microchip

Внутрисхемный отладчик-программатор MPLAB ICD

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

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

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

    Помимо этого, при отладке так же становятся недоступными:
    – 2 уровня стека (из 31);
    – порты ввода_вывода RB6 и RB7 (для программирования микроконтроллера и управлением режимами отладки);
    – вывод MCLR/Vpp (используется для программирования)
    –режим Low Voltage ICSP Programming принудительно выключается.

    Следует отметить, что ограничения вносятся лишь при включенном режиме отладки. Если же программа очень большая, в этом случае можно порекомендовать отлаживать программу частями, а затем отключить режим отладки и полностью запрограммировать используемый микроконтроллер. При этом снимаются все налагаемые MPLAB_ICD2 ограничения, он работает в режиме обычного программатора.

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

    Возможности и варианты поставки
    Дебаггер_отладчик MPLAB ICD2 от Microchip работает с популярными FLASH-микроконтроллерами PIC12/16/18Fxxxx, а в ближайшем будущем он так же будет поддерживать 16-ти разрядные контроллеры семейства dsPIC30F, а так же популярное семейство PIC16F62xA. Отладчик имеет возможность обновления программного обеспечения для поддержки новых появляющихся микроконтроллеров.

    Работает MPLAB ICD2 под управлением бесплатной универсальной среды разработчика MPLAB IDE, которая периодически обновляется для поддержки новых микроконтроллеров и переиздается на CD_ROM, а так же доступна на сайте www.microchip.com. Причем ICD2 работает как со старыми 16_битными версиями MPLAB IDE 5.xx (поддерживается работа только через RS_232), так и с новыми 32_bit версиями MPLAB IDE 6.xx (поддерживается как RS_232, так и USB). Среда имеет удобный графический интерфейс, встроенный менеджер проектов и текстовый редактор с поддержкой выделения операторов и директив цветом, встроенный ассемблер и симулятор, поддержу новейших dsPIC. Среда позволяет подключать компиляторы Си как производства Microchip, так и других фирм. MPLAB IDE работает со всеми отладочными средствами Microchip, в том числе и ICD2 дебаггером.

    Поддерживается установка точек останова, просмотр и изменение памяти данных и EEPROM. Кроме того, ICD2 можно использовать как внутрисхемный программатор, при этом встроена защита от перегрузок по току и напряжению, есть диагностические светодиоды контроля состояния.

    Дебаггер ICD2 поставляется (таблица 20) как в виде отдельного модуля с характерным красно-синем корпусом без источника питания (DV164005), с источником питания (DV164007), а так же в составе комплекта с демонстрационной платой PICDEM 2 Plus и образцом FLASH-контроллера PIC18F452 (DV164006, см. рис. 2). Демонстрационная плата содержит 2х16 ЖКИ дисплей, температурный датчик, EEPROM память, светодиоды, пищалку, RS232 интерфейс и может быть приобретена отдельно (в этом случае номер для заказа DM163022).

    Все варианты поставки работают под управлением универсальной интегрированной среды MPLAB_IDE. Отличительными особенностями дебаггера MPLAB ICD2 являются:
    – Быстрая связь с компьютером через USB или RS-232;
    – Стильный запоминающийся корпус, похожий на хоккейную шайбу;
    – Три встроенных светодиода, характеризующих состояние дебаггера;
    – Встроенная система внутрисхемного программирования отлаживаемого микроконтроллера;
    – Обновление программного обеспечения.
    – Задаваемая точка останова;
    – Работа в пошаговом и режиме реального времени;
    – Просмотр и модификация содержимого управляющих регистров, 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) или изготовить самостоятельно. Причем, поскольку использовано подключение через USB, источник питания необходимо подключить к отлаживаемой плате. Остается только подать питание и запустить среду MPLAB_IDE на компьютере.

    Для того чтобы начать писать программу, в интегрированной среде MPLAB IDE необходимо создать проект.

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

    Если программа откомпилировалась без ошибок, можно переходить к самому интересному – внутрисхемной отладке.

    Для этого необходимо загрузить откомпилированную программу в отлаживаемый контроллер, для чего кликнуть по надписи “Program”. Возможно, потребуется на вкладке параметров программирования поменять значения битов конфигурации (WDT, CP, и др.). После успешной записи и сверки можно кликнуть по иконке сброса, при этом на исходном тексте программы появится серая полоска указателя текущей команды. Теперь можно запустить пошаговую отладку, выполнение в реальном времени, попробовать изменить содержимое ОЗУ/EEPROM, установить точки останова. Несколько коротких рекомендаций:
    – Если дебаггер успешно программирует кристалл, но при попытке сброса и пошаговой отладки выдает ошибку связи, проверьте соответствие типа генератора в конфигурационном слове (HS,XT, RC и тд) реально используемому на отлаживаемой плате;
    – Скорость работы пошаговой отладки можно увеличить, ограничив количество обновляемых регистров ОЗУ при отладке;
    – Если ваша программа небольшая, есть смысл изменить конечный адрес программной памяти на вкладке опций программирования ICD2. В этом случае каждый раз при изменении программы будет переписываться не вся программная память, а лишь ее часть, что уменьшит время программирования микросхемы;
    – Используйте соединение USB – скорость отладки возрастет;
    – Не забывайте обновлять “прошивку” ICD2 !

    Совместимость микроконтроллеров PIC16 и PIC18 Все PICmicro, выпускаемые в одинаковых корпусах 28 и 40 выводов семейств PIC16F и PIC18F, pin-to-pin совместимы между собой (например, 40-pin-PIC16C64/67/74/77/874/877, PIC18F452/442/458/448 и 28-pin – PIC16C62/63/66/72/73/76/872/873/876, PIC18F252/242/248/258). Различаются они объемом памяти и количеством встроенных периферийных устройств. Кроме того, семейство PIC18F имеет более совершенную архитектуру и расширенную систему команд. Несмотря на это, PIC18F “понимает” команды PIC16F, и программа может быть легко перенесена с PIC16 на PIC18 в случае нехватки производительности или объемов памяти. Так же возможен обратный процесс – разработка на более мощном и дорогом PIC18F, а затем переход на более дешевый PIC16 в серийном изделии. Полная совместимость по выводам и частичная по системе команд существенно облегчают задачу перехода.

    MPLAB ICD2 в режиме программатора / отладчика.
    Как уже отмечалось выше, MPLAB ICD2 является не только отладчиком, но и программатором. В таблице 21 приведены возможности MPLAB ICD2.



    Планируется также поддержка семейства dsPIC.

    Для некоторых контроллров необходимо дополнительные переходники

Контроллер Номер продукта Номер для
заказа
PIC12F629/675 AC162050 DS41173
PIC12F630/676 AC162052 DS41191
PIC12F627/628A AC162053 DS41196


    В помощь разработчику: демонстрационно_отладочные платы PICDEM 2 Plus.
    Очень часто основным фактором, влияющим на успех разработки, является скорость выхода изделия на рынок. Поэтому так важно начать разработку программы как можно раньше, еще до того, как будет разработано и изготовлено «железо» макетного образца. Так же в начале проектирования порой бывает неясно, какой вариант реализации того или иного узла предпочтительней, какой интерфейс передачи данных предпочесть, и т.п. В этих и других подобных ситуациях на помощь программисту микроконтроллерных систем приходят отладочные платы. Это изделия, содержащие все необходимые компоненты для работы микроконтроллера (цепи питания, сброса, тактового генератора). Кроме того, на плате содержатся периферийные схемы и устройства (ЖКИ индикатор, светодиоды, клавиатура, часы реального времени, периферийные микросхемы (CAN, RS_232, I2C, SPI и т.д.)), а так же макетное поле, где при необходимости можно спаять свою часть схемы. Другими словами, имея та_кую плату, программист имеет все необходимое для начала разработки и внутрисхемной отладки программы. Так же такие платы могут быть рекомендованы для обучения программированию микроконтроллерных систем.

    Отладочная плата PICDEMЖЛ 2 PLUS (DM163022) Эта демонстрационная плата от Microchip имеет 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.


Вернуться назад


МЕТА - Украина