Nexus или IEEE-ISTO 5001-2003 - это стандартный интерфейс отладки для встроенных систем .
Функции
Набор функций IEEE- ISTO 5001-2003 (Nexus) смоделирован на основе современных реализаций отладки на кристалле, большинство из которых зависит от процессора. Его цель - создать богатый набор функций отладки, минимизируя необходимое количество выводов и площадь кристалла и не зависящие от процессора и архитектуры. Он также поддерживает многоядерные и многопроцессорные конструкции. Соответственно, она сопоставима с архитектурой отладки ARM CoreSight.
Физически IEEE-ISTO 5001-2003 определяет стандартный набор разъемов для подключения инструмента отладки к целевой системе или тестируемой системе . Логично, что данные передаются с использованием пакетного протокола. Этот протокол может быть JTAG (IEEE 1149.1); или, для высокоскоростных систем, может использоваться вспомогательный порт, который поддерживает полнодуплексную передачу с более высокой пропускной способностью.
Ключевая функциональность Nexus включает либо взаимодействие запросов / ответов в стиле JTAG, либо пакеты, передаваемые через порт отладки , и включает:
- Управление во время выполнения ... Во всех реализациях инструменты отладки могут запускать и останавливать процессор, изменять регистры и пошаговые машинные инструкции.
- Доступ к памяти ... Nexus поддерживает доступ к памяти при работающем процессоре. Такой доступ требуется при отладке систем, в которых невозможно остановить тестируемую систему. Примеры включают Engine Control, где остановка контуров цифровой обратной связи может создать физически опасные ситуации. [ требуется разъяснение ]
- Точки останова ... Программы останавливаются, когда происходит указанное событие, точка останова . Событие может быть указано как адрес выполнения кода или как доступ к данным (чтение или запись) по адресу с указанным значением. Точки останова Nexus могут быть установлены по любому адресу, включая флэш-память или ПЗУ; ЦП также могут предоставлять специальные инструкции точки останова.
- Определено несколько видов трассировки событий , в основном в зависимости от высокоскоростного вспомогательного порта для разгрузки объемных данных без отрицательного воздействия на выполнение программы:
- Трассировка программы ... Трассировка переходов сжимает данные выполнения программы, отправляя сообщения только в инструкции перехода или исключения. Анализ трассировки реконструирует поток программы, используя локальный образ содержимого памяти кода.
- Трассировка данных ... Доступы к ячейкам памяти могут отслеживаться в зависимости от диапазона (начальный и конечный адрес) и типа доступа (чтение или запись).
- Трассировка владения ... Операционная система (ОС, возможно, ОСРВ ) может записывать идентификатор задачи в регистр Nexus при переключении задач, вызывая отправку сообщения трассировки владения.
- Замена памяти и замена порта ... Эта функция позволяет эмулировать доступ к памяти или порту через вспомогательный порт Nexus.
- Сбор данных ... Для быстрого создания прототипа может потребоваться быстрая передача больших объемов данных через вспомогательный порт в инструменты отладки. Он использует более эффективный протокол, чем тот, который используется при трассировке данных. Это также помогает калибровке в автомобильных приложениях.
Интерфейс прикладного программирования низкого уровня (API) также разрешен для маскировки специфических особенностей цели, таких как механизм подключения к хосту (например, эмулятор или калибровочный инструмент [ требуется пояснение ] ) и детали регистра Nexus для конкретных процессоров. Этот API создается совместно поставщиком инструментов и полупроводников.
Классы соответствия
IEEE-ISTO 5001-2003 - масштабируемый стандарт; в настоящее время существует четыре класса соответствия стандарту: от базового (только JTAG) класса 1 до класса 4.
- Класс 1 поддерживает управление во время выполнения (запуск, остановка, выгрузка / загрузка памяти при остановке процессора, точки останова, чтение или установка регистров) с использованием интерфейса JTAG. Связь осуществляется только в полудуплексном режиме, а полоса пропускания ограничена. Трассировка не поддерживается.
- Класс 2 добавляет трассировку владения и трассировку программы и позволяет использовать вспомогательный порт отладки совместно с «медленными» выводами порта ввода-вывода. Трассировка владения позволяет отслеживать текущую задачу или текущий процесс для систем, основанных на ядрах реального времени или операционных системах.
- Класс 3 добавляет трассировку записи данных и чтение / запись в память на лету без остановки выполнения. Отслеживание чтения / записи данных, совместное использование вспомогательного порта с высокоскоростными портами ввода-вывода, такими как шина адреса / данных, и поддержка сбора данных (видимость связанных параметров данных, хранящихся во внутренних ресурсах, обычно связанных калибровочных переменных). необязательно соответствует классу 3.
- Класс 4 добавляет подстановку памяти (выборку или чтение данных через вспомогательный порт Nexus) и позволяет запускать трассировку с помощью точки наблюдения. Запуск подстановки памяти на точке наблюдения является дополнительной функцией соответствия Классу 4.
Смотрите также
дальнейшее чтение
- IEEE-ISTO 5001 ™ -1999, Стандарт Nexus 5001 Forum ™ - обеспечение доступа к встроенным системам будущего
- IEEE-ISTO 5001-2003, Форумный стандарт Nexus 5001 для глобального интерфейса отладки встроенного процессора
Внешние ссылки
- Форум о NEXUS 5001
- Глобальный стандарт интерфейса отладки для встроенных процессоров Форума Nexus 5001 , Уильям Вонг
- Многоядерный анализ стал проще благодаря спецификации отладки Nexus 5001 , разработанной доктором Нилом Столлоном.
- Стандарт отладки NEXUS: шлюз к встроенным системам будущего , разработанный Ashling Microsystems, Inc.