27. Модуль внутрисхемной отладки (DBGU)
27.1 Обзор
Модуль внутрисхемной отладки предоставляет единую точку доступа ко всем возможностям отладки микропроцессоров на базе ядра ARM. Модуль внутрисхемной отладки представляет собой УАПП с двумя линиями, используемый для некоторых целей отладки и трассировки, и предоставляет идеальное средство для решения задач внутрисхемного программирования, а так же для работы с монитором отладки. Сопряжение линий модуля с двумя каналами контроллера ПДП периферийных модулей дает возможность проводить пакетную обработку отладочных данных с минимальным задействованием времени процессора.
Кроме того, модуль внутрисхемной отладки осуществляет передачу сигналов отладочного канала связи (DCC), работающего со встроенным внутрисхемным эмулятором (ICE) процессора ARM, и обеспечивает программный доступ к внутрисхемному эмулятору. Сигналы внутрисхемного эмулятора передают состояние регистров чтения и записи DCC, выдают прерывания в процессор ARM, обеспечивая работу DCC под управлением прерываний.
Регистры-идентификаторы устройства позволяет распознать тип и версию контроллера. Эти регистры позволяют получить данные о типах и размерах всех видов встроенной памяти, так же как и о встроенных периферийных устройствах.
27.2 Структурная схема
Рис. 27-1. Функциональная структурная схема модуля внутрисхемной отладки
Таблица 27-1. Функциональное описание выводов модуля внутрисхемной отладки
Название вывода |
Описание |
Тип |
DRXD |
Прием данных модуля внутрисхемной отладки |
Ввод |
DTXD |
Передача данных модуля внутрисхемной отладки |
Вывод |
Рис. 27-2. Пример типового применения модуля внутрисхемной отладки
27.3 Различия в реализации DBGU в семействе AT91SAM7S
27.3.1 Конфигурация линий ввода-вывода
В зависимости от исполнения, выводы модуля внутрисхемной отладки могут быть мультиплексированы с линиями контроллера параллельного ввода-вывода (PIO). Для того, чтобы модуль внутрисхемной отладки мог использовать линии ввода-вывода контроллера PIO, программист должен в первую очередь конфигурировать соответствующие функции этого контроллера.
27.3.2 Управление питанием
В зависимости от исполнения конкретного устройства, управление модулем внутрисхемной отладки может осуществляться с помощью контроллера управления потребляемой мощностью (PMC). В таком случае, программист должен в первую очередь разрешить и настроить синхронизацию модуля внутрисхемной отладки в PMC. Обычно для этой цели устанавливается 1 в соответствующем бите регистра разрешения синхронизации соответствующего периферийного устройства.
27.3.3 Источники прерываний
В зависимости от исполнения, линия прерывания модуля внутрисхемной отладки может быть присоединена к одному из источников прерывания расширенного контроллера прерываний (AIC). Для обработки прерываний перед конфигурированием DBGU требуется предварительно соответствующим образом конфигурировать AIC. Обычно DBGU подсоединен к источнику прерываний 1 расширенного контроллера прерываний, и может использовать его совместно с часами реального времени (RTC), линиями прерываний системного таймера, и другими прерываниями периферийных модулей устройства, как показано на рис. 27.1. Наличие такого разделения делает необходимым использование программных средств для определения источника прерывания.
|