Материал предоставлен http://blog.lakhtin.com

Интерфейсы

Процессор содержит следующие внешние интерфейсы:

  • шинные интерфейсы;
  • ETM интерфейс;
  • Высокопроизводительный трассировочный интерфейс (AHB Trace Macrocell)
  • Отладочный порт AHB-AP

Шинные интерфейсы процессора

Процессор содержит 4 высокопроизводительных шины

ICode шина

Шина используется для доступа к выборке инструкций из пространства памяти с адреса 0x00000000 до 0x1FFFFFFF и осуществляется через высокопроизводительную 32 битную шину AHB-Lite.

Этот интерфейс недоступен для отладчика. Все чтения на этом интерфейсе выровнены по границе слова. Количество инструкций, читающиеся за одно слово, зависят от самого исполняющегося кода и выбранного типа выравнивания кода в памяти.

DCode шина памяти

Шина используется для обмена данными и отладки в пространстве Code c 0x00000000 по 0x1FFFFFFF адрес и осущесвтляется через высокопроизводительную 32 разрадную шину AHB-Lite.

Данные ядра процессора имеют более высокий приоритет чем отладочный доступ на этой шине. Это означает, что отладочные команды будут ожидать до тех пор, пока ядро процессора не закончит выполнять операции на этой шине и только после этого станет доступным для отладочных процедур.

Логика управления этой шиной преобразует все невыровненные данные и отладочные инструкции к двойному или тройному выравниванию, в зависимости от размера невыроровненого содержимого. Это притормаживает все идущие следом данные и отладочные команды до тех пор, пока каждое выравнивание не будет завершено.

ARM строго рекомендует, чтобы любое согласование между интерфейсами ICode и DCode гарантировало, что DCode имеет более высокий приоритет чем ICode.

шина System

Данные и команды могут доставляться по этой шине из адресных пространств в диапазонах адресов с 0x20000000 до 0xDFFFFFFF и 0xE0100000 до 0xFFFFFFFF. На схемотехническом уровне это высокопроизводительная 32-bit AHB-Lite шина.

При одновременном доступе к этой шине действует следующий арбитражный порядок уменьшающихся приоритетов:

  1. Данные
  2. Инструкции и вектора
  3. Отладочная информация

Шина содержит управляющую логику для обработки невыровненного доступа, FPB переадресации, поддержки операций bit-bang и конвейерного вызова команд.

Частная периферийная шина (Private Peripheral Bus (PPB)

Данные и отладочная информация к внешнему PPB пространству памяти с 0xE0040000 до 0xE00FFFFF осуществляется через эту 32-битную высокоскоростную Peripheral Bus (APB) шину.

Модуль и инструменты трассировки (The Trace Port Interface Unit (TPIU) и специфическая периферия производителя доступна через эту шину.

Доступ к данным имеет более высокий приоритет чем отладочная информация. Таким образом, отладочные команды будут ожидать завершения исполнения команд ядра процессора при одновременном доступе к этой шине с ядром процессора. Для того чтобы использовать раширенное адресное пространство PPB необходимы лишь соответствующие адресные биты.

ETM

Интерфейс обеспечивает простой доступ ETM к процессору. Шина предоставляет канал доступа для инструкций к ETM. Больше информации можно найти в ARM Embedded Trace Macrocell Architecture Specification.

Интерфейс AHB Trace Macrocell

AHB Trace Macrocell (HTM) интерфейс обеспечивает простой доступп средства трассировки AHB trace macrocell для процессора.

Конкретная реализация процессора должна поддерживать этот интерфейс. Вы ДОЛЖНЫ установить TRCENA в состояние 1 в Debug Exception and Monitor Control Register (DEMCR) перед включением HTM для разрешения поддержки трассировки на HTM порту.

DEMCR [ TRCENA == 1 ]

Больше информации в ARMv7-M Architecture Reference Manual.

Отладочный порт AHB-AP

Этот процессор содержит продвинутый, высокопроизводительный отладочный интерфейс на шине Advanced High-performance Bus Access Port (AHB-AP). Системы на Cortex M3® поддерживают три возможных реализации внешнего отладочного порта (DP):

  • The Serial Wire JTAG Debug Port (SWJ-DP). SWJ-DP это стандартный отладочный порт CoreSight объединяющий JTAG-DP и Serial Wire Debug Port (SW-DP).
  • The SW-DP. Двухпроводной интерфейс для порта AHB-AP.
  • No DP present. Если отладочной информации в процессоре не предусмотрено, то никакого отладочного интерфейса не реализуется.

Две различных реализации отладочного порта предоставляют различные механизмы для доступа к процессору. Конкретная реализация процессора, с которым Вы будете работать ОБЯЗАНА содержать только один из этих вариантов.

Вообще-то, семейство Cortex M3® может содержать процессоры, имеющие альтернативные реализации DP взамен стандартизированных SWJ-DP или SW-DP. Вам следует внимательно изучить конкретную спецификацию на процессор, чтобы знать это наверняка.

Если Вы хотите знать больше информации о компонентах отладочного порта ваше процессора просмотрите внимательнее CoreSight Components Technical Reference manual.

Отладочный (DP) и порт доступа (AP) определены совместно как Debug Access Port (DAP).

Больше инфрмации о технологии отладки на процессорах сериии Cortex M3® в отдельном документе ARM Debug Interface v5 Architecture Specification.

Пространство адресовИнструкции Cortex M3