|
Средства разработки и отладки
Программатор ICD2m-
это полноценное устройство, позволяющее программировать контроллеры
внутрисхемно. В список поддерживаемых в режиме программирования входят
практически все PIC контроллеры с
FLASH памятью. Управление осуществляется через COM-порт
персонального компьютера. Возможно подключение и к USB
через конвертер, например на FT232BM
. Устройство работает под управлением Интегрированной Среды Разработки
MPLAB-IDE. Ее последняя
версия всегда свободно доступна на http://www.microchip.com.
Возможности
Внутрисхемное программирование
Запуск кода программы в реальном времени и
пошаговая отладка.
Внутрисхемная отладка.
Просмотр и изменение содержимого управляющих
регистров, RAM и EEPROM.
Встроенное внутрисхемное программирование
отлаживаемого PIC.
Точка останова (Breakpoint).
Диапазон тактовой частоты от 32кГц до
максимально допустимой, для используемого PIC
контроллера.
Символьная отладка и отладка по исходному
коду.
Пользовательский интерфейс
MPLAB-IDE.
Совместимость с Microsoft
Windows 95/98/Me/NT/2000/XP.
RS232 (COM-порт)
интерфейс
Работа с устройством
После подачи питания будет светиться зеленый
светодиод . Теперь можно подключить программатор к COM
порту и приступить к работе.
Фирма Microchip
настоятельно рекомендует отключить буфер FIFO для
используемого COM порта. Это нужно обязательно
сделать. В Windows XP последовательность действий
такая. Пуск — Панель управления — Система — Оборудование — Диспетчер
устройств — Порты (COM и LPT)
— Последовательный порт X — Параметры порта —
Дополнительно — Убрать галочку «Использовать буферы FIFO»
— OK. К сожалению, нигде не упоминается, что после
этого компьютер следует перезагрузить. Если не выполнить эту процедуру,
программатор не будет работать. А вот при использовании конвертера
USB-COM на
FT232BM никаких изменений в свойствах порта
делать не нужно.
Теперь, можно запускать MPLAB-IDE.
Желательно использовать версию не ниже 7. Все дальнейшие пояснения будут
относиться к версии 7.30. После запуска в меню Debugger
— Select Tool нужно убедиться, что
MPLAB ICD2 не отмечен галочкой. Одновременно выбирать это
устройство в качестве отладчика и программатора нельзя. Затем нужно
отметить Programmer — Select Programmer — MPLAB ICD2
и перейти на Programmer — MPLAB ICD2 Setup Wizard.
Последовательно проходя по открывающимся окнам надо выбрать номер
используемого COM порта, а также скорость обмена.
Доступны две скорости 19200 и 57600, лучше выбрать вторую. После этого
отметить «Power target circuit from MPLAB ICD2». «MPLAB
IDE automatically connect to the MPLAB ICD2» лучше не отмечать, а
вот последующее предложение автоматически загружать требуемую операционную
систему следует принять. Потом эти установки можно будет изменить. Теперь
можно устанавливать связь: Programmer —
Connect. Откроется окно «Output»,
на которое будут выводиться все сообщения, предупреждения и ошибки.
Внимательно читайте все, что там появится. Если нет сообщений, выделенных
красным цветом, значит программатор работает корректно. Некоторые
сообщения требуют подтверждения, наиболее надоедливые из них можно
запретить, поставив соответствующую галочку.
Теперь нужно выбрать тип контроллера, с
которым предполагается работать Configure —
Select Device. В случае необходимости требуемая
операционная система загрузится автоматически. Если нужно просто
запрограммировать HEX файл в контроллер без
создания проекта, действия должны быть такими: File
— Import, затем указание пути к файлу прошивки.
Просмотреть и отредактировать, при необходимости, загруженный файл можно,
выполнив команду View — Program
memory или View — EEPROM.
Изменить биты слова конфигурации - Configure —
Configuration Bits. Непосредственно запись, чтение,
стирание или верификация осуществляются нажатием соответствующих кнопок на
панели инструментов. Область памяти, с которой выполняются действия, может
быть установлена Programmer —
Settings — Program.
Особенности отладчика
Обратите внимание:
Ввиду упрощенного схемотехнического решения
узла питания (фиксированное напряжение +VDD = 5,0
вольт), не рекомендуется использовать ICD2m
при напряжении питания отлаживаемого устройства менее +4,5 вольт.
.
Принцип действия
В процессе программирования отлаживаемого
микроконтроллера PIC, к отлаживаемой пользователем
программе дописывается небольшая подпрограмма отладчика
ICD, которая получает управление при старте или сбросе
микроконтроллера. Эта подпрограмма осуществляет связь с компьютером и
позволяет выполнять команды, такие как:
Установить/снять контрольную точку (breakpoint).
Выполнить один шаг отлаживаемой программы (Step).
Запустить отлаживаемую программу в реальном
времени (Run).
Приостановить (Halt).
Выполнить сброс микроконтроллера (Reset).
Передать компьютеру содержимое управляющих
регистров или регистров памяти.
Изменить содержимое управляющего регистра или
регистра памяти.
Подпрограмма Отладчика ICD
занимает некоторое пространство Памяти Программ микроконтроллера в
области последних (старших адресов), несколько ячеек в Памяти Данных, один
уровень стека и использует выводы RB6 и
RB7 микроконтроллера для связи с
ICD2m.
Например, для PIC
контроллеров серии PIC16F87x
это ячейки:
Контроллер
память данных память
программ
PIC16F870/871/872 0x70,
0x0BB...0x0BF 0x06E0...0x07FF
PIC16F873/873A/874/874A 0x70, 0x0EB...0x0F0
0x0EE0...0x0FFF
PIC16F876/876A/877/877A 0x70, 0x1EB...0x1EF
0x1F00...0x1FFF
Указанные адреса ячеек в памяти данных и
памяти программ необходимо зарезервировать и не использовать на всём
протяжении отладки. Их использование во время процесса отладки может
приводить к непредсказуемым результатам.
Подпрограмма отладчика ICD
автоматически дописывается модулем ICD2m
всякий раз при программировании кода программы в Отлаживаемый
микроконтроллер и Пользователь не должен заботиться об этом.
При необходимости применения в отлаживаемом
устройстве однократно программируемых (OTP -
One Time Programming) кристаллов серий
PIC16x6X,
PIC16x7x
и других, учитывая то, что все PIC-контроллеры,
выпускаемые в одинаковых корпусах совместимы по выводам между собой и
отличаются только объемом памяти и встроенными периферийными устройствами
- рекомендуется для отладки программных модулей и подпрограмм использовать
похожий кристалл, выполненный по технологии FLASH.
В большинстве случаев они с запасом перекрывают ресурсы однократно
программируемых микроконтроллеров.
После отладки программных модулей и сборки
программы на FLASH версии PIC
контроллера - ее можно с минимальными изменениями перенести на
более дешевый OTP кристалл.
Более подробно работа с устройством в режиме
программатора и отладчика описана в Help —
Topics — MPLAB ICD2, а также
в руководстве пользователя «MPLAB ICD2
USER'S GUIDE», которое можно
загрузить с сайта http://www.microchip.com,
а на http://www.microchip.ru
можно найти описание MPLAB IDE на русском
языке.
-
ICD2m
упрощённый вариант фирменного внутрисхемного отладчика
MPLAB-ICD2
компании Microchip
-
Фиксированное напряжение питания, отлаживаемой схемы: +5 вольт
-
Исполнение для COM-порта компьютера
-
Поддерживается интегрированной средой Разработки MPLAB-IDE
как Отладчик MPLAB-ICD2
-
Обеспечивает функции внутрисхемного программатора для отладочного
комплекса PIC-EASY
-
Список
микросхем пополняется автоматически, при установке новой версии
MPLAB
-
Напряжение питания устройства: 9-12В постоянное или 8-10В переменное
Список микроконтроллеров
PIC, поддерживаемых в режиме "программатор (programmer)",
при использовании MPLAB-IDE v7.62:
dsPIC30F1010;
dsPIC30F3014; dsPIC30F6011;
dsPIC30F2010; dsPIC30F4011;
dsPIC30F6011A;
dsPIC30F2011; dsPIC30F4012;
dsPIC30F6012; dsPIC30F2012;
dsPIC30F4013; dsPIC30F6012A;
dsPIC30F2020; dsPIC30F5011;
dsPIC30F6013; dsPIC30F2023;
dsPIC30F5013; dsPIC30F6013A;
dsPIC30F3010; dsPIC30F5015;
dsPIC30F6014; dsPIC30F3011;
dsPIC30F5016; dsPIC30F6014A;
dsPIC30F3012; dsPIC30F6010;
dsPIC30F6015; dsPIC30F3013;
dsPIC30F6010A;
dsPIC33FJ128GP206;
dsPIC33FJ128MC708;
dsPIC33FJ64GP310;
dsPIC33FJ128GP306;
dsPIC33FJ128MC710;
dsPIC33FJ64GP706;
dsPIC33FJ128GP310;
dsPIC33FJ256GP506;
dsPIC33FJ64GP708;
dsPIC33FJ128GP706;
dsPIC33FJ256GP510;
dsPIC33FJ64GP710;
dsPIC33FJ128GP708;
dsPIC33FJ256GP710;
dsPIC33FJ64MC506;
dsPIC33FJ128GP710;
dsPIC33FJ256MC510;
dsPIC33FJ64MC508;
dsPIC33FJ128MC506;
dsPIC33FJ256MC710;
dsPIC33FJ64MC510;
dsPIC33FJ128MC510;
dsPIC33FJ64GP206;
dsPIC33FJ64MC706;
dsPIC33FJ128MC706;
dsPIC33FJ64GP306;
dsPIC33FJ64MC710;
PIC10F200; PIC10F204;
PIC10F220; PIC10F202; PIC10F206; PIC10F222;
PIC12F508; PIC12F615;
PIC12F683; PIC12F509; PIC12F629; PIC12HV609; PIC12F510; PIC12F635;
PIC12HV615; PIC12F609; PIC12F675; PIC16F505; PIC16F689; PIC16F873;
PIC16F506; PIC16F690;
PIC16F873A; PIC16F54; PIC16F716; PIC16F874; PIC16F57; PIC16F72;
PIC16F874A; PIC16F59; PIC16F73; PIC16F876; PIC16F610; PIC16F737;
PIC16F876A; PIC16F616; PIC16F74; PIC16F877; PIC16F627; PIC16F747;
PIC16F877A; PIC16F627A; PIC16F76; PIC16F88; PIC16F628; PIC16F767;
PIC16F883; PIC16F628A; PIC16F77; PIC16F884; PIC16F630; PIC16F777;
PIC16F886; PIC16F631; PIC16F785; PIC16F887; PIC16F636; PIC16F818;
PIC16F913; PIC16F639; PIC16F819; PIC16F914; PIC16F648A; PIC16F83;
PIC16F916; PIC16F676; PIC16F84; PIC16F917; PIC16F677; PIC16F84A;
PIC16F946; PIC16F684; PIC16F87; PIC16HV610; PIC16F685; PIC16F870;
PIC16HV616; PIC16F687; PIC16F871; PIC16HV785; PIC16F688; PIC16F872;
PIC18C601; PIC18F4410; PIC18F66J15;
PIC18C801; PIC18F442;
PIC18F66J16; PIC18F1220; PIC18F4420; PIC18F66J60; PIC18F1230; PIC18F4423;
PIC18F66J65; PIC18F1320; PIC18F4431; PIC18F6720; PIC18F1330; PIC18F4439;
PIC18F6722; PIC18F2220; PIC18F4450; PIC18F67J10; PIC18F2221; PIC18F4455;
PIC18F67J11; PIC18F2320; PIC18F4458; PIC18F67J60; PIC18F2321; PIC18F448;
PIC18F8310; PIC18F2331; PIC18F4480; PIC18F8390; PIC18F2410; PIC18F44J10;
PIC18F8410; PIC18F242; PIC18F4510; PIC18F8490; PIC18F2420; PIC18F4515;
PIC18F8520; PIC18F2423; PIC18F452; PIC18F8525; PIC18F2431; PIC18F4520;
PIC18F8527; PIC18F2439; PIC18F4523; PIC18F8585; PIC18F2450; PIC18F4525;
PIC18F85J10; PIC18F2455; PIC18F4539; PIC18F85J11; PIC18F2458; PIC18F4550;
PIC18F85J15; PIC18F248; PIC18F4553; PIC18F85J90;
PIC18F2480; PIC18F458;
PIC18F8620; PIC18F24J10; PIC18F4580; PIC18F8621; PIC18F2510; PIC18F4585;
PIC18F8622; PIC18F2515; PIC18F45J10; PIC18F8627; PIC18F252; PIC18F4610;
PIC18F8680; PIC18F2520; PIC18F4620; PIC18F86J10; PIC18F2523; PIC18F4680;
PIC18F86J11; PIC18F2525; PIC18F4685; PIC18F86J15; PIC18F2539; PIC18F6310;
PIC18F86J16; PIC18F2550; PIC18F6390; PIC18F86J60; PIC18F2553; PIC18F6410;
PIC18F86J65; PIC18F258; PIC18F6490; PIC18F8720; PIC18F2580; PIC18F6520;
PIC18F8722; PIC18F2585; PIC18F6525; PIC18F87J10; PIC18F25J10; PIC18F6527;
PIC18F87J11; PIC18F2610; PIC18F6585; PIC18F87J60; PIC18F2620; PIC18F65J10;
PIC18F96J60; PIC18F2680; PIC18F65J15; PIC18F96J65; PIC18F2682; PIC18F6620;
PIC18F97J60; PIC18F2685; PIC18F6621; PIC18LF24J10; PIC18F4220; PIC18F6622;
PIC18LF25J10; PIC18F4221; PIC18F6627; PIC18LF44J10; PIC18F4320;
PIC18F6680; PIC18LF45J10; PIC18F4321; PIC18F66J10;
PIC18F4331; PIC18F66J11;
PIC24FJ128GA006;
PIC24FJ64GA002; PIC24FJ96GA006; PIC24FJ128GA008; PIC24FJ64GA004;
PIC24FJ96GA008; PIC24FJ128GA010; PIC24FJ64GA006; PIC24FJ96GA010;
PIC24FJ32GA002;
PIC24FJ64GA008; PIC24FJ32GA004; PIC24FJ64GA010;IC24HJ128GP206;
PIC24HJ128GP510; PIC24HJ64GP210; PIC24HJ128GP210; PIC24HJ256GP206;
PIC24HJ64GP506; PIC24HJ128GP306; PIC24HJ256GP210; PIC24HJ64GP510;
PIC24HJ128GP310; PIC24HJ256GP610; PIC24HJ128GP506; PIC24HJ64GP206;
Beta Support:
dsPIC33FJ12GP201;
dsPIC33FJ12GP202; dsPIC33FJ12MC201;
dsPIC33FJ12MC202;rfPIC12F675F;rfPIC12F675H;rfPIC12F675K; PIC16F882;
PIC18F24K20; PIC18F64J11; PIC18F83J11; PIC18F25K20; PIC18F64J90;
PIC18F83J90; PIC18F44K20; PIC18F65J11; PIC18F84J11; PIC18F45K20;
PIC18F65J50; PIC18F84J90; PIC18F4682; PIC18F65J90; PIC18F85J50;
PIC18F46K20; PIC18F66J50; PIC18F86J50; PIC18F63J11; PIC18F66J55;
PIC18F86J55; PIC18F63J90; PIC18F67J50; PIC18F87J50; PIC24FJ48GA004;
Примечания:
При работе с PIC-контроллерами
серии PIC16F87x,
первой инструкцией, расположенной по адресу 0x0000
должен быть NOP (особенности отладчика
MPLAB-ICD2 ).
В процессе отладки выводы MCLR,
RB7, RB6 микроконтроллера
используются для связи с модулем ICD2m,
остальные выводы доступны пользователю. Выводы RB7,
RB6 не должны быть нагружены внешними устройствами.
Следует уделить особое внимание, чтобы
отладчик монопольно управлял линией MCLR. Если к
этой цепи имеются подключения, например, монитор питания или резистор,
"подтягивающий" этот вывод к лог. "1", то эти связи необходимо временно
отключить. При возможности на плату устройства следует устанавливать
перемычку дающую возможность пользоваться как внутрисхемной отладкой так и
режимом внутрисхемного программирования (ICSP).
Не следует забывать подключать к
микроконтроллеру, находящемуся в отлаживаемой плате соответствующий
осциллятор. Без подключенного осциллятора модуль отладчика будет корректно
осуществлять программирование микроконтроллера, однако, при попытке
запустить отладку, будет выведено сообщение об ошибке.
Длина шлейфа ICSP,
соединяющего Модуль ICD2m с
кристаллом, находящемся в отлаживаемом устройстве не более 50 см.
Более подробную информацию можно найти на
http://www.microchip.com/
или в файле помощи программы MPLAB.
Подключение:
Установите 10-контактный разъем на плате с
микроконтроллером и подсоедините контакты разъема согласно рисунку.

Возможно подключение просто на панельки
для микросхем для разных типов корпусов DIP40/28/18/14/8

|