Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Внутрисхемный отладчик Ассемблер Мясное ассорти для Ила / Лабораторная Обучение работе на внутрисхемном отладчике MPLAB.doc
Скачиваний:
149
Добавлен:
15.03.2015
Размер:
2.3 Mб
Скачать

Лабораторная работа Обучение работе на внутрисхемном отладчике mplab-icd.

  1. Цель работы

Ознакомиться с интегрированной средой разработки MPLAB IDE. Изучить основные функции и назначение основных пунктов меню. Получить практические навыки по работе с инструментальными средствами отладки микропроцессорных систем MPLAB ICD.

    1. ОБЩЕЕ ОПИСАНИЕ MPLAB IDE И MPLAB–ICD

MPLAB IDE (Integrated Development Environment) – интегрированная среда разработки, представляет собой программный продукт, работающий под управлением операционной системы WINDOWS и предназначенный для написания, отладки и оптимизации программ для Microchip PIC контроллеров. MPLAB IDE включает в себя:

MPLAB Project Manager– менеджер проекта; MPLAB Editor – текстовый редактор,

MPLAB-SIM Simulator – симулятор;

MPASM – универсальный Ассемблер,

MPLINK (Линковщик) и MPLIB (Библиотекарь).

MLPAB-ICE Emulator – эмулятор;

Для контроллеров семейства PIC17, PIC18, а так же dsPIC, в среде MPLAB IDE есть возможность работать с компиляторами языка Си – более высокого уровня, по сравнению с ассемблером.

Ряд аппаратных средств, работающих под управлением MPLAB IDE, приведен ниже.

программаторы

MPLAB-ICD (In Circuit Debugging) - внутрисхемный отладчик, позволяет выполнять внутрисхемную отладку программы в реальной схеме, используя генератор и периферию отлаживаемого контроллера. Для отладки используются только два вывода контроллера, работа идёт по ICSPTM интерфейсу.

Используя ICD, можно отлаживать аппаратно-зависимые участки кода, которые трудно, а порой невозможно воспроизвести в симуляторе, например: работа с АЦП, измерение временных параметров входного сигнала, организация обратной связи с управляемым объектом, отладка интерфейсов USART, SPI, I2C и т.п.

    1. MPLAB–ICD

MPLAB-ICD работает под управлением универсальной программной среды MPLAB и обладает следующими возможностями:

отладка в режиме реального времени и пошаговая отладка. связь с компьютером по RS-232.

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

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

RAM и EEPROM.

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

PIC-контроллеров серии PIC16F87x.

работа от источника питания отлаживаемой конструкции в диапазоне от 3,0 до 5,5 В.

диапазон рабочих частот от 32 кГц до 20 МГц.

Внешний вид комплекта MPLAB ICD показан на рис. 3. В него входят:

Внутрисхемный отладчик/программатор mplab icd 3 компании Microchip

MPLAB ICD 3 (DV164035)– внутрисхемный отладчик/программатор подходит для работы с микроконтроллерами и цифровыми сигнальными контроллерами (DSC) компании Microchip. Работает MPLAB ICD 3 под управлением бесплатной универсальной среды разработчика MPLAB IDE с интуитивно понятным интерфейсом.

Отличительные особенности:

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

  • стандартный для отладочных средств Microchip разъем RJ-11;

  • компактный корпус;

  • отсутствует необходимость во внешнем источнике питания (питание от USB порта);

  • значительно увеличена скорость программирования по сравнению с MPLAB ICD 2;

  • поддерживает напряжение питания целевой платы от 2,0В до 5,5В;

  • для поддержки новых микроконтроллеров и добавления расширенных возможностей достаточно скачать новую версию MPLAB IDE и произвести обновление прошивки MPLAB ICD 3.

Линейка отладочных средств для микроконтроллеров компании Microchip. 

Комплектация:

  1. отладчик/программатор MPLAB ICD 3,

  2. кабель USB для подключения к компьютеру,

  3. кабель для подключения MPLAB ICD 3 к целевой платформе,

  4. руководство пользователя для MPLAB IDE,

  5. CD-ROM с MPLAB IDE и документацией.

Техническая документация и программное обеспечение:

  • руководство пользователя MPLAB ICD 3,

  • брошюра по быстрому началу работы с отладочным средством MPLAB ICD 3,

  • спецификация на Header Board.

Анонс составил и подготовил  Усанин Илья e-mail: usanin@terraelectronica.ru

 

26-02-2008

Microchip выпускает внутрисхемный отладчик для микроконтроллеров

Microchip» PIC-ICD2-POCKET

PIC-ICD2-POCKET – внутрисхемный отладчик – полный аналог MPLAB ICD2 (DV164005) фирмы Microchip. Внутрисхемный отладчик PIC-ICD2-POCKET для микроконтроллеров серии PICmicro® работает почти со всеми Flash-микроконтроллерами серий PIC12F, PIC16F, PIC18F и dsPIC30F. Для поддержки вновь появляющихся микроконтроллеров имеется возможность обновления программного обеспечения. Работает PIC-ICD2-POCKET под управлением бесплатной и обновляемой универсальной среды разработчика MPLAB IDE. PIC-ICD2-POCKET отличается от PIC-ICD2 отсутствием RS-232 порта.

Отличительные особенности:

  • USB (Full Speed 2 Мб/с) интерфейс;

  • отладка в реальном масштабе времени;

  • совместимость с MPLAB IDE GUI;

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

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

  • поддержка ИМС с напряжением питания от 2В до 6В;

  • диагностический двухцветный светодиод (Busy, Error);

  • светодиод состояния (USB power status green LED);

  • чтение/программирование памяти программ и памяти данных МК;

  • программирование бита защиты;

  • стирание памяти программ с проверкой;

  • точки прерываний.

  • Комплектация: отладчик PIC-ICD2-POCKET, кабель ICSP.

Распиновка ICSP коннектора: (вид сверху).  

Терраэлектроника

PIC-ICD2-POCKET на РадиоЛоцман.Цены— от2 510до4 033руб.

PIC-ICD2-POCKET – внутрисхемный отладчик – полный аналог MPLAB ICD2 (DV164005 фирмы Microchip Внутрисхемный отладчик PIC-ICD2 для микроконтроллеров серии PICmicro® работает почти...

Поставщик

 

Производитель

Цена

Терраэлектроника

Olimex

от 2 510 руб.

Каталог "Электронщик"

 

Olimex

от 2 560 руб.

Элитан

 

Olimex

2 844 руб.

Ким

 

Olimex

4 033 руб.

официальный статус поставщика

Все 8 предложений от 4 поставщиков »

Цены»Программаторы

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

Начало формы

Имя

Запомнить?

Пароль

Конец формы

Рекомендуемые публикации по теме:

Приборы

 »


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

Схемы

 »


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

Приборы

 »


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

Форум

 »


Обсуждение: Microchip выпускает первый в отрасли аналоговый контроллер управления питанием с интегрированным микроконтроллером

Новости

 »


Atmel выпускает внутрисхемный программатор и отладчик JTAGICE3

При перепечатке материалов с сайта прямаяссылка наРадиоЛоцманобязательна.

Приглашаем авторов статей и переводов к публикации материаловна страницах сайта.

Срезы ↓

  • Электронные компоненты

  • Микроконтроллеры

  • Силовая электроника

  • Измерения

  • Автоматизация

  • Безопасность

  • Беспроводные технологии

  • Ветроэнергетика

  • Инструменты и технологии

  • САПР и ПО

  • Светотехника

  • Солнечная энергетика

  • Реклама на РЛ

    • Размещение прайс листов

  • Подписка на обновления

  • Журналы:

    • РадиоЛоцман

    • Радиоежегодник

  • Авторам

  • Сотрудничество

  • Контакты

  • РЛ в социальных сетях:

Источник: terraelectronica.ru

Рис. 3. Внешний вид комплекта MPLAB-ICD.

  1. Эмуляционная плата MPLAB ICD header с микроконтроллером

PIC16F877-20/P.

  1. Основной модуль MPLAB ICD module.

  2. Демонстрационная макетная плата MPLAB ICD demo board (см приложение 4).

  3. Кабель для подключения к компьютеру через RS 232.

  4. 40-выводная и 28-выводная панели для подключения микроконтроллера или эмуляционной платы.

  5. 9-дюймовый 6-выводнойкабель.

  6. CD с программным обеспечением и документацией.

  7. Инструкции поэксплуатации.

Во время использования внутрисхемного программирования,

MPLAB-ICD задействует следующие ресурсы микроконтроллера:

  1. MCLR/Vpp используется для программирования.

  2. RB6 и RB7 зарезервированы для программирования и внутрисхемной отладки.

  3. Шесть регистров общего назначения зарезервированы для

DEBUG MONITORа - 70h, 1EBh - 1EFh.

  1. Первая ячейка памяти программ должна содержать инструкцию

NOP.

  1. Память программ с адреса 0x1F00 по 0x1FFF зарезервирована

для кода отладки.

  1. Одинуровень стека недоступен.

Внимание! MPLAB-ICD не поддерживает низковольтное программирование. При использовании ICD функция низковольтного программирования должна быть отключена

      1. Демонстрационная плата MPLAB ICD demo board.

Демонстрационная плата предназначена для демонстрации PIC16F8ХХ и изучения его возможностей. Плата подключается к основному модулю через эмуляционную плату MPLAB-ICD Header.

PIC16f8ХХ может быть вставлен непосредственно в демонстрационную плату в обход эмуляционной головки.

На рис. 4. показана демонстрационная плата. Демонстрационная плата состоит из следующих частей.

        1. 40и 28штырьковые разъемы.

        2. Восемь DIP переключателей для соединения/разъединения каждого из восьми светодиодов с ответствующей линией порта С.

        3. Восемь красных светодиодов подключенных к порту С для отображения 8-битных двоичных величин.

        4. Две кнопки. Одна для сброса, вторая для внешнего воздействия на RB0 (при нажатии лог. «0»).

        5. Потенциометр для подачи аналогового сигнала заданного уровня на RA0/AN0.

        6. Область макетирования.

        7. Разъем подключения внешних устройств к ножкам микроконтроллера – для расширения макетирования.

Рис. 4. Демонстрационная плата MPLAB ICD.

        1. Перемычка выбора генератора - внутренний RC генератор

(приблизительно 2 МГц) или внешний кристалл.

        1. Разъем длявнешнегокристалла.

        2. Разъем питания - 9В, 0,75А.

        3. Выходинтерфейса RS-232.

        4. Разъем для подключения основной платы MPLAB ICD.

В приложении 4 находятся фрагменты принципиальной схемы демонстрационной платы.

4.4. РАБОТА В СРЕДЕ MPLAB И РАБОТА С MPLAB-ICD

Работа с MPLAB возможна в двух режимах: в режиме симулятора MPLAB SIM Simulator и в режиме внутрисхемной отладки MPLAB ICD Debugger.

В первом режиме программа функционирует в режиме симулятора PIC микроконтроллера на ЭВМ. Во втором работа идет с внутрисхемным отладчиком (непосредственно с микроконтроллером).

Работа с MPLAB идет в рамках проекта, который включает в себя файлы с исходным текстом, конечные файлы (*.HEX) и подключаемые библиотеки.

4.4.1. Создание нового проекта.

Выберите из меню Project>New Project.

В появившемся диалоге (рис. 5) необходимо ввести имя проекта в поле «File Name» например «student.pjt».

ВНИМАНИЕ! Придумывая имя своему проекту, не забывайте, что вы, скорее всего, не один Саша (Маша, Гриша, Даша) на курсе, а работаете Вы все в одной сети, поэтому имя должно быть ОРИГИНАЛЬНЫМ.

Рис. 5. Диалоговое окно нового проекта.

Нажмите кнопку «ОК»

В следующем диалоге (рис. 6) в поле «include Path» указать путь к фалу «p16f877.inc».

Нажмите кнопку «Change»

В поле «Processor» выберите PIC16F877

Выберите нужный режим работы MPLAB IDE – режим симулятора (MPLAB Sim Simulator) или режим внутрисхемного программирования и отладки (MPLAB-ICD Debugger).

Рис. 6. Диалог редактирования проекта.

В начале работы выберите режим «Simulator», затем, когда проект будет набран, скомпилирован и отлажен на симуляторе, переключите MPLAB в режим (MPLAB-ICD Debugger).

Настройка (MPLAB-ICD Debugger) приведены ниже (рис. 7).

Device –PIC16f877 Oscillator –RC WatchdogTimer – OFF Power OnTimer –ON Brown outDetect– OFF

Low Voltage Program –Disable

Code Protect –Data EE code protectionoff

FlashMemory Write –NoMemory written to by EECON Code Protect –Code protectionOFF

Рис. 7. Окно опций MPLAB-ICD.

Порт связи – COM2 Скорость связи – 19200 бод Загружаемые регистры – all

Диапазон рабочих частот – 2Мгц – 10Мгц Нажмите «ОК».

Нажмите «Add Node».

В поле «File Name» введите имя исходного ASM файла. Он должен находится в том же каталоге, что и файл проекта. Рекомендуется называть файл исходных текстов тем же именем, что и проект.

Выберите из меню File>New.

Выберите File>Save As в появившемся диалоге в поле «File Name» укажите имя файла, совпадающее с именем файла исходных текстов указанного в проекте.

      1. .Функции необходимые для работы MPLAB-IDE/ICD

Изменение параметров проекта – Project>Edit Project (CTRL+F3).

Компиляция проекта – Project>Make Project (F10). Пошаговое выполнение программы – Debug>Run>Step (F7). Остановка выполнения программы – Debug>Run>Halt (F5).

Сброс контроллера – Debug>Run>Reset (F6)

Запуск на выполнение – Debug>Run>Run (F9)

Для просмотра содержимого памяти контроллера в программном пакете MPLAB предусмотрены так называемые «Окна просмотра». Доступ к любому из них осуществляется через пункт меню

«WINDOWS».

Special function register window – окно регистров специальных функций.

Program memory – Окно, отображающее содержимое памяти программ.

Absolute listing – Листинг программы.

Stack – Окно стека.

Symbol list – Окно, отображающее присвоенные имена.

Project – Окно позволяющее редактировать настройки проекта.

Watch windows – Данный пункт позволяет создать собственное

«окно просмотра»,

New watch window – создание нового окна.

Load watch window– загрузка сохраненного окна.

Add to active watch window – Добавить переменную к активному

окну.

Edit active watch window – Редактировать активное окно.

Save active watch window – сохранить активное окно.

При создании нового окна в меню необходимо выбрать

переменную, которую необходимо отслеживать и нажать на кнопку ADD. При необходимости можно редактировать параметры отображения данной переменной.

Быстрый Старт с MPLAB-ICD.

Шаг первый.

PIC16F877. Мигающий светодиод.

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

Для начала работы нам потребуется: 1. Модуль MICD или фирменный MPLAB-ICD с кАбелями. 2. Установленная Интегрированная Среда Разработки MPLAB-IDE v5.xx.xx (доступна бесплатно на www.microchip.com) 3. Источник питания +9v (от +7v до +24v) для питания Модуля MPLAB-ICD. 4. Микроконтроллер PIC16F877 в корпусе DIP (наиболее удобно). 5. Кварц 4 МГц (можно любой, оказавшийся под рукой, но не более максимальной тактовой частоты выбранного экземпляра PIC).

Соберите простую схему как показано на рисунке:

Соберите простую схему как показано на рисунке:

  1. Подключите Модуль MPLAB-ICD к COM-порту компьютера и подайте на него напряжение питания. Светодиод на плате модуля может светиться или мигать.

  2. Запустите Интегрированную Среду разработки MPLAB.

  3. Options >> Development Mode >> Откроется диалог "Development Mode" >> В окне "Processor" выберите тип процессора PIC16F877 >> На вкладке "Tools" отметьте поле MPLAB-ICD Debugger >> Нажмите "Apply". Окно "Development Mode" можно закрыть.

  4. На этом этапе компьютер попытается установить связь с Модулем MPLAB-ICD. Откроется диалог "MPLAB-ICD".

  • Светодиод на плате Модуля MPLAB-ICD должен мигнуть и затем светиться не мигая.

  • Равномерное мигание светодиода указывает на отсутствие связи с компьютером. В этом случае тщательно проверьте подключение Модуля MPLAB-ICD к требуемому COM-порту, наличие напряжения питания, исправность кабеля, установки драйвера COM-порта и отсутствие конфликтов с другими устройствами.

  • Отсутствие подключения к Отлаживаемому микроконтроллеру не будет служить причиной отсутствия связи Модуля MPLAB-ICD с компьютером.

  • Если связь установлена корректно, то при нажатии кнопки "Reconnect" в поле "Status" будет появляться сообщение вида: EstComm<0>:port<0> baud<1>, где

    • EstComm<0> - Код ошибки (0 = без ошибок).

    • port<0> - Номер COM-порта (0 = COM1, 1 = COM2 …… 3 = COM4).

    • baud<1> - Скорость (0 = 19200 бод, 1 = 56700 бод).

  • На жестком диске, в удобном месте создайте пустую Папку (Директорию/Каталог).

  • Project >> New Project >> В открывшемся Диалоге "New Project":

    • В поле "Directories" укажите путь к созданной папке.

    • В поле "File Name" укажите название файла (например, LED1.PJT)

    • Нажмите "Ok".

  • В открывшемся диалоге "Edit Project" Проверьте, чтобы в строке "Development Mode" было выбрано "MPLAB ICD PIC16F877". Проверьте, чтобы поле "Language Tool Suite" имело значение Microchip.

    • В поле "Project Files" "ткните" мышкой (выделите) название .HEX файла (например, LED1.HEX).

    • Add Node >> введите название файла, который будет содержать исходный код программы (например, LED1.ASM) .>> Нажмите "Ok".

    • В Диалоге "Edit Project" нажмите "Ok".

  • File >> New >> Появится новое окно, с названием "Untitled".

  • Сдвиньте диалог MPLAB-ICD в угол окна, чтобы он не мешал.

  • В созданном вами окне введите исходный код программы из Листинга 1 (см. ниже)

  • File >> Save As >> LED1.ASM (Имя файла с исходным кодом программы).

  • В Диалоге MPLAB-ICD нажмите кнопку "Options". Откроется диалог "ICD Options". Установите или проверьте значения полей "Configuration Bits":

    • "Device" - PIC16F877

    • "Oscillator" - XT

    • "Watchdog Timer" - Off/Disable

    • "Power Up Timer" - On/Enable

    • "Brown out Detect" - Off/Disable

    • "Low Voltage Program" - Disable

    • "Code Protect Data EE" - code protection off

    • "Flash Memory Write" - Memory written to by EECON

    • "Code Protect" - Code Protection Off

  • Проверьте установки полей "Program Options":

    • "Start Address" - 0x0000

    • "End Address" - 0x1EFF

    • "Program Memory" - да

    • "Configuration Bits" - да

    • "ID Locations" - да

    • "EEPROM Data" - нет

    • "Erase all bef. Program" - да

    • "Enable Debug Mode" - да

  • Закройте диалог "ICD Options".

  • Project >> Make Project >> Будет выведено окно "Warning", напоминающее, что перед запуском собранной программы её необходимо "прошить" в Отлаживаемый кристалл. Нажмите кнопку "Close" в этом окне. Проверьте, чтобы в окне "Build Results" в заключение была строчка "Build completed successfully." Если это не так – ищите ошибки.

  • В Диалоге MPLAB-ICD установите:

    • В поле значения диапазона допустимых тактовых частот значение, соответствующее частоте выбранного кварцевого резонатора. Для частоты в 4MHz это значение "2MHz…10MHz".

    • В поле выбора модели считываемых регистров значение "Minimum (FSR,PCLATH,STAT,W) Это увеличит скорость анимированного выполнения программы.

  • В Диалоге MPLAB-ICD нажмите кнопку "Program". При отсутствии проблем со связью между Модулем MPLAB-ICD и Отлаживаемым кристаллом, по окончании записи в окне "Status" появится сообщение: "Waiting for user command".

  • Выполните Debug >> Run >> Animate. (Клавиши Ctrl+F9)

  • Для останова программы используйте Debug >> Run >> Halt. (Клавиша F5).

  • Для запуска по шагам используйте Debug >> Run >> Step (Клавиша F7).

  • Для запуска в реальном времени используйте Debug >> Run >> Run (Клавиша F9).

  • Project >> Save Project (Сохраните проект).

  • В случае Анимированного (Animate) выполнения программы светодиод будет мигать с некоторой скоростью, обусловленной общим быстродействием всей связки: Компьютер - Модуль – Отлаживаемый кристалл. Немаловажную роль в этом случае играет значение поля выбора модели считываемых регистров, т.к. после выполнения каждой инструкции процессор будет "сбрасывать" в компьютер значения указанных/выбранных регистров, и чем больше их количество, тем меньше будет результирующая скорость Анимированного выполнения программы.

  • В случае запуска программы в режиме реального времени (Run) светодиод будет мигать с частотой, значительно выше воспринимаемой глазом человека. Для наблюдения используйте осциллограф.

    ;================ Начало LED1.ASM ================

    ;Файл: LED1.ASM

    ;Версия программы: 1.01

    ;Дата последней модификации: 02.02.2002

    ;http://u1.chat.ru

    processor 16F877 ;Используемый процессор.

    radix dec ;Десятичная система счисления по умолчанию.

    include "p16f877.inc" ;Заголовочный файл для микроконтроллера PIC16F877.

    ;Файл расположен в директории установленной MPLAB-IDE.

    org 0x0000 ;Вектор сброса процессора, после сброса программа

    ;начинает выполняться отсюда.

    nop ;Этот nop жизненно необходим для корректной работы MPLAB-ICD

    clrf INTCON ;Перестраховываемся, запрещаем все прерывания.

    clrf PCLATH ;Перестраховываемся, выбираем Bank 0 Памяти Программ.

    goto Start ;Обход вектора прерывания и блока подпрограмм.

    org 0x0004 ;Вектор прерывания.

    ;********** Начало обработчика прерываний **********

    ;В этой простой программе не используются прерывания

    ;********** Конец обработчика прерываний************

    ;***************** Блок подпрограмм ****************

    ;В этой простой программе нет подпрограмм

    ;************* Конец блока подпрограмм *************

    Start ;Тело программы начинается здесь.

    ;********** Начало Инициализации процессора ********

    clrf PORTD ;Все выводы PORTD переводим в '0'

    movlw b'00100000' ;

    movwf STATUS ;Выбираем Bank 1 RAM (адреса 80h - FFh)

    movlw b'00000000' ;

    movwf TRISD ;Все линии PORTD переключаем на выход

    clrf STATUS ;Возвращаемся в Bank 0 RAM (адреса RAM 00h - 7Fh)

    ;********** Конец Инициализации процессора *********

    Loop bsf PORTD,7 ;Зажигаем Светодиод

    nop ;Тянем время...

    nop ;...

    nop ;...

    bcf PORTD,7 ;Гасим светодиод

    nop ;Тянем время...

    nop ;...

    nop ;...

    goto Loop ;Бесконечный цикл.

    END ;Конец исходного кода программы

    ;============= Конец LED1.ASM =====================