Нексус (стандартный)
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2010 г. ) |
Nexus или IEEE-ISTO 5001-2003 — стандартный интерфейс отладки для встраиваемых систем .
Особенности [ править ]
Набор функций IEEE-ISTO 5001-2003 (Nexus) смоделирован на основе современных реализаций встроенной отладки, большинство из которых зависят от процессора. Его цель — создать богатый набор функций отладки, минимизируя при этом необходимое количество выводов и площадь кристалла, а также независимость от процессора и архитектуры. Он также поддерживает многоядерные и многопроцессорные конструкции. Соответственно, она сравнима с архитектурой отладки ARM CoreSight.
Физически IEEE-ISTO 5001-2003 определяет стандартный набор разъемов для подключения средства отладки к целевой или тестируемой системе . Логически данные передаются с использованием пакетного протокола. Этот протокол может быть JTAG (IEEE 1149.1); или, для высокоскоростных систем, можно использовать вспомогательный порт, поддерживающий полнодуплексную передачу с более высокой пропускной способностью.
Ключевые функциональные возможности Nexus включают в себя либо взаимодействие запросов/ответов в стиле JTAG, либо пакеты, передаваемые через порт отладки , и включают в себя:
- Управление во время выполнения ... Во всех реализациях инструменты отладки могут запускать и останавливать процессор, изменять регистры и выполнять одношаговые машинные инструкции.
- Доступ к памяти ... Nexus поддерживает доступ к памяти во время работы процессора. Такой доступ необходим при отладке систем, в которых невозможно остановить тестируемую систему. Примеры включают управление двигателем, где остановка цепей цифровой обратной связи может создать физически опасные ситуации. [ нужны разъяснения ]
- Точки останова определенное событие, точка останова ... Программы останавливаются, когда происходит . Событие может быть указано как адрес выполнения кода или как доступ к данным (чтение или запись) по адресу с указанным значением. Точки останова Nexus могут быть установлены по любому адресу, включая флэш-память или ПЗУ; Процессоры также могут предоставлять специальные инструкции для точек останова.
- Определено несколько видов трассировки событий , в основном в зависимости от высокоскоростного вспомогательного порта для выгрузки объемных данных без негативного влияния на выполнение программы:
- Трассировка программы ... Трассировка ветвей сжимает данные выполнения программы, выдавая сообщения только при инструкциях ветвления или исключения. Анализ трассировки восстанавливает ход выполнения программы, используя локальный образ содержимого памяти кода.
- Трассировка данных ... Доступ к ячейкам памяти может отслеживаться в зависимости от диапазона (начальный и конечный адрес) и типа доступа (чтение или запись).
- Трассировка владения ... Операционная система (ОС, возможно, RTOS ) может записывать идентификатор задачи в регистр 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 Forum , Уильям Вонг
- Многоядерный анализ стал проще благодаря спецификации отладки Nexus 5001 , разработанной доктором Нилом Столлоном.
- Стандарт отладки NEXUS: путь к встраиваемым системам будущего , разработанный Ashling Microsystems, Inc.