Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
© 2005 Microchip Technology Incorporated. All Rights Reserved. Слайд 1
MPLAB® ICD2 дляпродвинутыхпользователей
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 2
Основы функционированияMPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 3
Основы функционирования MPLAB® ICD2
l В основе работы ICD2 лежит аппаратный модуль теневой отладки -Background Debug Module (BDM) реализованный на кристаллемикроконтроллера
BDM
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 4
l Модуль BDM обеспечивает специальноенемаскируемое прерывание, недоступноепользователю, возникающее приследующих отладочных событиях:l Внешний остановl Точка остановаl Пошаговое выполнение
l Ядро контроллера работает внормальном режиме до тех пор, пока непроизойдет одно из отладочных событий
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 5
l В момент возникновения одного из отладочныхсобытий, модулем BDM генерируетсянемаскируемое прерываниеl Вектор прерывания может быть расположен в
памяти программ, доступной пользователюl Режим в который переходит ядро назовем INBUG
mode, в отличие от USER mode (обычного режимаработы)
l MPLAB® ICD 2 записывает в память программобработчик отладочного прерывания, называемый Debug Executive (DE).
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 6
l Обработчик отладочного прерывания DEвыполняет команды MPLAB® ICD2 до техпор, пока управление не будетвозвращено ядру контроллера.l Набор команд ICD2 в режиме INBUG mode:
l Чтение/запись регистраl Выполнение одиночного шагаl Возвращение управления ядруконтроллера (переход в USER mode)
l Обработчик прерывания DE требует дляработы часть пользовательских ресурсов
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 7
l Обмен обработчика прерывания DE и MPLAB®
ICD 2 осуществляется по последовательномуинтерфейсу с использованием линий ICDC иICDD.l Линии обмена так же обозначаются PGC-PGD и как
правило физически мультиплексированы свыводами RB6-RB7.
l Обычно эти же линии используются длявнутрисхемного программирования.
l Обработчик DE осуществляет низкоуровневыйобмен по линиям ICDC и ICDD.
l Не используйте выводы RB6-RB7 впользовательском приложении, так как вызоветнемаскируемое прерывание модуля BDM
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 8
l Когда ядро контроллера находиться врежиме INBUG mode, некоторые регистрыспециального назначения становятсядоступны ядру. l Эти регистры необходимы для:
l Определения причины прерыванияl Пошагового выполненияl Управления линиями ICDC и ICDD
l Эти регистры могут располагаться поадресам, используемым в пользовательскомрежиме USER mode
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 9
l Протокол обмена MPLAB® ICD2 иобработчика прерывания DE являетсяпротоколом типа «ведущий-ведомый»l MPLAB IDE инициирует обмен данными с
MPLAB ICD2.l MPLAB ICD2 инициирует обмен данными собработчиком прерывания DE.
l Реализация более сложных асинхронныхсистемы обмена потребовала бы большепользовательских ресурсов.
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 10
l MPLAB® ICD2 обеспечиваетвнутрисхемную отладку высочайшегоклассаl Используется целевой контроллер сцелевым окружениемl Реальная схема питания, реальнаясхема тактирования, реальныевременные параметры
l Возможностей MPLAB® ICD2 достаточнодля разработки большинства приложений
Основы функционирования MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 11
Особенности MPLAB® ICD2
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 12
Особенности MPLAB® ICD2:работа в различных режимах
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 13
l С точки зрения MPLAB® ICD 2 целевоймикроконтроллер может находиться в одном изтрех режимов:l Сброс (RESET): MCLR = Vill Внутрисхемное программирование (ICSP): MCLR =
Vppl Пользовательский (USER): MCLR = Vdd(пользовательский код)l Режим отладки (INBUG): MCLR = Vdd (обработчик
DE)l Сброс является состоянием по умолчанию.
MPLAB ICD2 переведет контроллер всостояние сброса в случае возникновениякаких либо проблем
Особенности MPLAB® ICD2:работа в различных режимах
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 14
--X-INBUG----USERXX-XICSP----RESET
ConfigEEDATAFile RegProgram
l MPLAB® ICD2 имеет доступ (чтение и запись) только к определенным областям памяти вкаждом из четырех режимов.
Особенности MPLAB® ICD2:работа в различных режимах
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 15
l Попытка доступа к области памяти, запрещенной для текущего режимавызовет ошибку:l ICD0157: Attempted target memory access
using an invalid type and mode combination. (Mem = %s) (Mode = %s) (Type = %s)
l Обработчик DE может получать доступ кпамяти программ, но при этом он будетзанимать больше программной памяти
l Переключение режимов всегдаосуществляется через режим сброса
Особенности MPLAB® ICD2:работа в различных режимах
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 16
Особенности MPLAB® ICD2:точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 17
l MPLAB® ICD2 устанавливает точку остановапутем записи адреса памяти программ врегистр специального назначения, доступныйтолько в режиме INBUG.
l Во время работы ядра в пользовательскомрежиме, модуль BDM сравнивает текущейадрес памяти программ с целевым адресом. При совпадении генерируется немаскируемоеотладочное прерывание.
l Ядро микроконтроллера задерживает переходна вектор отладочного прерывания до тех порпока текущая инструкция не закончитвыполнение.
Особенности MPLAB® ICD2:точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 18
l Счетчик памяти программ (PC) после переходана обработчик отладочного прерывания будетсодержать адрес следующей инструкцииl PC 16-битных контроллеров dsPIC/PIC24 доступный в
обработчике отладочного прерывания будет содержать адресPCh+2, где PCh – инструкция которая вызвала отладочноепрерывание по точке останова
l Установка точки останова на двухсловной инструкции вызоветпропуск 2-х инструкций. После перехода на векторотладочного прерывания PC = PCh + 3.
l Установка точки останова на инструкции перехода не вызоветотладочного прерывания. Использование инструкции NOP может помочь решить эту проблему.
Особенности MPLAB® ICD2:точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 19
l Переход на вектор отладочного прерывания поточке останова в режиме Animate не вызываетпропуск инструкций.l Режим Animate – автоматическое пошаговое
выполнение.l MPLAB® IDE сравнивает текущий адрес с адресом
точки останова до выполнения инструкции.l Различные семейства микроконтроллеров
имеют разное допустимое число точекостанова (ТО):l Baseline and Mid-Range 1 ТОl PIC18F 1 или 3 ТОl dsPIC/PIC24 1, 2 или 4 ТО
Особенности MPLAB® ICD2:точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 20
l Количество доступных точек остановаопределяет возможность выполненияоперации Step-Over («перешагнуть») l MPLAB® IDE временно использует
свободную точку останова для перехода наадрес следующий за пропускаемойфункцией.
l Если при выполнении операции Step-Over свободная точка останова отсутствует, MPLAB IDE переключается в режим Animateдо того момента пока пропускаемаяфункция не будет выполнена
Особенности MPLAB® ICD2:точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 21
Особенности MPLAB® ICD2:регистры
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 22
l Для обновления значения регистров, отображаемых в MPLAB® IDE, MPLAB ICD2 должен выполнить операцию чтения памятиданных при каждом входе в обработчикотладочного прерыванияl Операция чтения одного регистра выполняется за
определенное время.l Таким образом, чем больше данных (регистров
общего назначения, регистров специальногоназначения) отображается в среде MPLAB IDE тембольше времени потребуется для обновленияинформации.
l Рекомендуется использовать Watch Window вместоотображения панелей File Register и SFR.
Особенности MPLAB® ICD2:регистры
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 23
l MPLAB® ICD2 не разделяет регистры общегоназначения и регистры специальногоназначения.l Чтение и запись регистров специального
назначения может привести к нежелательнымпоследствиям
l Например, чтение регистров косвенной адресацииможет вызывать инкремент указателя (POSTINC)…
l …поэтому отображение регистров косвеннойадресации в окнах Watch, File Register, или SFR может привести к тому, что при каждом переходе повектору отладочного прерывания информация вуказателях будет изменяться.
Особенности MPLAB® ICD2:регистры
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 24
l Замечание: чтение регистров косвеннойадресации приводит к нежелательным, нопредсказуемым последствиям, поэтомуMPLAB® ICD2 пропускает запрос на чтениеэтих регистров.
l Однако чтение и запись других регистровспециального назначения так же можетпривести к непредсказуемым для работыпрограммы последствиям.l Например, чтение регистра RCREC – эта операция
сбрасывает флаг прерывания приемника USART.l Рекомендуется перемещение значения регистра
SFR в регистр общего назначения, с последующимего отображением в окне Watch.
Особенности MPLAB® ICD2:регистры
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 25
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 26
l Microchip постоянно расширяет возможности, предоставляемые модулем BDE
l Новейшие контроллеры имеют не толькопростейшие точки останова по совпадениюпрограммного счетчика с заданным адресом
l Возможности, предоставляемые BDE зависятот семейства отлаживаемого контроллера
l Доступ к установке расширенных точекостанова (Advanced Breakpoints)обеспечивается в меню Debug среды MPLAB IDE
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 27
l Семейства PIC10F, PIC12F и PIC16F имеют только одну простую точкуостановаl Дополнительные расширенные точки
останова отсутствуют
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 28
l Контроллеры PIC18F имеют только однурасширенную точку остановаl Останов по совпадению данныхl Пропускl Останов по ошибке стека
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 29
l Семейство PIC18F Extended имеет трирасширенных точки останова
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 30
l Семейство PIC18F “J”имеет еще большевозможностейl Остановка по
срабатываниюсторожевого таймера
l Остановка повхождению в SLEEP
l Аппаратный счетчикциклов Stopwatch
l Отображение данныхв реальном времени
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 31
l Контроллеры 16-битных семействdsPIC30F, dsPIC33F, PIC24 имеютдополнительныевозможностиКомбинационный
останов
Расширенные точки останова
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 32
Внутреннее устройство
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 33
l Драйверы линий тактирования и данныхl Драйвер сигнала MCLRl Драйвер питания устройства
Внутреннее устройство
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 34
Внутреннее устройство: драйверы линийтактирования и данных
l Для работы с уровнями от 2 до 5 Виспользуется конвертер уровней
l Двунаправленный буферl Подтягивающий резистор на GND настороне целевого устройстваl Это необходимо иметь в виду приразработке схемы подключения ICD2 кцелевому устройству
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 35
Внутреннее устройство: драйверы линийтактирования и данных
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 36
74AHC/VHC126 DC Characteristics Symbol Parameter Conditions Min Typ Max Units VCC DC Supply Voltage 2.0 5.0 5.5 V VIH HIGH-level input voltage VCC=2.0
VCC=3.0 VCC=5.5
1.5 2.1 3.85
V
VIL LOW-level input voltage VCC=2.0 VCC=3.0 VCC=5.5
0.5 0.9 1.65
V
VOH HIGH-level output voltage VCC=2.0 VCC=3.0 VCC=4.5
1.9 2.9 4.4
2.0 3.0 4.5
V
VOL LOW-level output voltage VCC Range 0 0.1 V
74AHCT/VHCT126 DC Characteristics Symbol Parameter Conditions Min Typ Max Units VCC DC Supply Voltage 4.5 5.0 5.5 V VIH HIGH-level input voltage VCC=4.5 to 5.5 2.0 V VIL LOW-level input voltage VCC=4.5 to 5.5 0.8 V VOH HIGH-level output voltage VCC=4.5 4.4 4.5 V VOL LOW-level output voltage VCC=4.5 0 0.1 V
l Характеристики буферов
Внутреннее устройство: драйверы линийтактирования и данных
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 37
l Cчетверенный аналоговый ключ (DG411) предназначен для коммутациинапряжений на выходе MCLRl VPP, VDD, Gnd, Hi-Z
l Защита от короткого замыкания(самовосстанавливающийся полимерныйпредохранитель).
Внутреннее устройство: драйвер MCLR
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 38
l MPLAB® ICD2 обеспечивает ток 250 мА пошине питания устройства
l Защита от короткого замыкания спомощью самовосстанавливающегосяпредохранителя.l Предохранитель разомкнет цепь питания
VDD при превышении потребляемого токаl Все операции MPLAB ICD 2 будутзапрещены, если сработала защита отперегрузки.
Внутреннее устройство: драйвер питанияустройства
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 39
Рекомендации по использованию
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 40
Рекомендации по использованию: помехи
l MPLAB® ICD 2 соединяется с целевымустройством с помощью цифровыхсигналов ICDC и ICDD
l Помехи могут вызвать потерюсинхронизации между MPLAB ICD 2 иустройством
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 41
l При передачи цифровых сигналов по линиисвязи можно столкнуться со следующимипроблемами:- Взаимная интерференция сигналов.- Кондуктивные, электрические и магнитные помехи.- Эффекты линии связи (отражение сигнала, и т. п.)
l Эффекты линии связи являютсядоминирующими в данном контексте. Их можноизбежать, правильно разработав схемуподключения ICD2 к целевому устройству.l Блокирующие конденсаторы 22-47 пФ на линиях.l Резистор 100 Ом между ICD2 и выводом PGD.
Рекомендации по использованию: помехи
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 42
Рекомендации по использованию: помехи
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 43
Рекомендации по использованию: версииаппаратного обеспечения
l Производитель имеет право вноситьлюбые изменения в схему и топологиюпечатной платы ICD2.
l Возможны следующие отличия: l Маркировка компонентовl Изменение номиналов компонентов,
добавление, удаление компонентовl Изменение топологии печатной платы
l Даже если вы имеете старую версиюICD2, возможно, она обеспечит все вашипотребности
© 2005 Microchip Technology Incorporated. All Rights Reserved. Class Слайд 44
l Rev 16 – первые значительные измененияв схеме MPLAB® ICD 2.l Защита цепи MCLRl Защита цепей PGD и PGC
l Rev 19 – расширен диапазон напряженияVPP для поддержки новых кристаллов.
Рекомендации по использованию: версииаппаратного обеспечения