Jump to content

Архитектура отладки MIPI

Архитектура отладки MIPI Alliance предоставляет стандартизированную инфраструктуру для отладки глубоко встроенных систем в мобильном пространстве и в пространстве, на которое влияют мобильные устройства. MIPI Рабочая группа MIPI Alliance Debug выпустила портфель спецификаций; их цель — предоставить стандартные протоколы отладки и стандартные интерфейсы от системы на кристалле (SoC) к инструменту отладки. Технический документ « Обзор архитектуры для отладки» суммирует все усилия. В последние годы группа сосредоточилась на определении протоколов, которые улучшают видимость внутренних операций глубоко встроенных систем, стандартизации решений отладки через функциональные интерфейсы устройств форм-фактора и указании использования I3C в качестве шины отладки. [1] [2]

Термин «отладка»

[ редактировать ]

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

Методы управления/настройки

[ редактировать ]

Отладку можно использовать для управления и настройки компонентов, включая встроенные системы, данной целевой системы. Стандартные функции включают установку аппаратных точек останова , подготовку и настройку системы трассировки, а также проверку состояний системы .

Отладка в режиме остановки/шага

[ редактировать ]

При отладке в пошаговом режиме ядро/микроконтроллер останавливается с помощью точек останова, а затем «пошагово» проходит через код, выполняя инструкции по одной. Если другие ядра/микроконтроллеры SoC завершили работу синхронно, можно проверить общее состояние системы. Отладка в режиме остановки/пошага включает методы управления/настройки, управление запуском ядра/микроконтроллера, синхронизацию запуска/остановки с другими ядрами, доступ к памяти и регистрам, а также дополнительные функции отладки, такие как счетчик производительности и доступ к памяти во время выполнения.

Отслеживание

[ редактировать ]

Трассировки позволяют провести углубленный анализ поведения и временных характеристик встроенной системы. Типичны следующие следы:

  • «Трассировка ядра» обеспечивает полную видимость выполнения программы во встроенном ядре. Данные трассировки создаются для последовательности выполнения инструкций (иногда называемой трассировкой инструкций) и передачи данных (иногда называемой трассировкой данных). SoC может генерировать несколько основных трассировок.
  • «Трассировка шины» обеспечивает полную видимость передачи данных по конкретной шине.
  • «Системная трассировка» обеспечивает видимость различных событий/состояний внутри встроенной системы. Данные трассировки могут генерироваться кодом приложения прибора и аппаратными модулями внутри SoC. SoC может генерировать несколько системных трассировок.

Видимость внутренних операций SoC

[ редактировать ]
Наложение спецификаций трассировки

Трассировка — это инструмент для мониторинга и анализа того, что происходит в сложной SoC. Существует несколько хорошо зарекомендовавших себя стандартов трассировки ядра и шины, не относящихся к MIPI, для рынка встраиваемых систем. Таким образом, рабочей группе по отладке MIPI не было необходимости указывать новые. Но когда в 2006 году рабочая группа по отладке опубликовала свою первую версию протокола трассировки системы MIPI (MIPI STP), стандарта для «системной трассировки» не существовало.

Трассировка системного программного обеспечения MIPI (MIPI SyS-T)

[ редактировать ]

Генерация данных трассировки системы из программного обеспечения обычно выполняется путем добавления дополнительных вызовов функций, которые предоставляют диагностическую информацию, ценную для процесса отладки. Этот метод отладки называется инструментированием. Примеры: функции генерации строк в стиле printf, информация о значениях, утверждения и т. д. Целью MIPI System Software Trace (MIPI SyS-T) является определение многократно используемого протокола данных общего назначения и инструментального API для отладки. Спецификация определяет форматы сообщений, которые позволяют инструменту анализа трассировки декодировать отладочные сообщения либо в удобочитаемый текст, либо в сигналы, оптимизированные для автоматического анализа.

Поскольку подробные текстовые сообщения нагружают ограничения пропускной способности для отладки, предоставляются так называемые «сообщения каталога». Сообщения каталога — это компактные двоичные сообщения, заменяющие строки числовыми значениями. Преобразование числового значения в строку сообщения выполняется инструментом анализа трассировки с помощью дополнительной информации XML . Эта информация предоставляется в процессе сборки программного обеспечения с использованием схемы XML, которая также является частью спецификации.

Протокол данных SyST-T предназначен для эффективной работы поверх транспортных каналов более низкого уровня, таких как те, которые определены протоколом трассировки системы MIPI . Функции протокола SyST-T, такие как отметка времени или контрольные суммы целостности данных, можно отключить, если транспортный канал уже предоставляет такие возможности. использование других транспортных каналов, таких как UART , USB или TCP/IP Также возможно .

Рабочая группа по отладке MIPI предоставит эталонную реализацию с открытым исходным кодом для инструментального API SyST-T, красивый принтер сообщений SyST-T и инструмент для генерации дополнительных данных XML, как только будет выпущена Спецификация для трассировки системного программного обеспечения (SyS-T). Т) одобрено. [3]

Протокол трассировки системы MIPI (MIPI STP)

[ редактировать ]
Топология «главный/канальный» модуля трассировки системы

Протокол трассировки системы MIPI (MIPI STP) определяет общий протокол, который позволяет объединять потоки трассировки, исходящие из любого места SoC, в поток трассировки 4-битных кадров. Он был специально разработан для объединения информации трассировки системы. Протокол трассировки системы MIPI использует топологию «канал/главный», которая позволяет инструменту анализа получения трассировки сопоставлять отдельные потоки трассировки для анализа и отображения. Протокол дополнительно предоставляет следующие функции: синхронизацию и выравнивание потоков, маркеры триггера, глобальную метку времени и синхронизацию времени нескольких потоков.

Поток пакетов STP, создаваемый модулем системной трассировки, может быть непосредственно сохранен в ОЗУ трассировки, напрямую экспортирован за пределы кристалла или может быть перенаправлен в модуль протокола оболочки трассировки (TWP) для объединения с дальнейшими потоками трассировки. ARM , Система отслеживания Macrocell системы CoreSight от [4] который совместим с MIPI STP, сегодня является неотъемлемой частью большинства многоядерных чипов, используемых в мобильной сфере.

Последняя версия спецификации протокола системной трассировки (STP), принятая платой MIPI. СМ ) — версия 2.2 (февраль 2016 г.). [5]

Протокол MIPI Trace Wrapper (MIPI TWP)

[ редактировать ]

Протокол MIPI Trace Wrapper позволяет объединить несколько потоков трассировки в один поток трассировки (потоки байтов). Уникальный идентификатор присваивается каждому потоку трассировки протоколом упаковки. Обнаружение границ байта/слова возможно, даже если данные передаются как поток битов. Инертные пакеты используются, если требуется непрерывный экспорт данных трассировки. Протокол MIPI Trace Wrapper основан на протоколе форматирования трассировки ARM , указанном для ARM CoreSight.

Последняя принятая платой MIPI версия спецификации протокола Trace Wrapper (TWP). СМ ) — версия 1.1 (декабрь 2014 г.). [6]

От специализированных до функциональных интерфейсов

[ редактировать ]
От специализированных до функциональных интерфейсов

Выделенные интерфейсы отладки

[ редактировать ]
Две наиболее распространенные технологии отладки в режиме остановки

На ранних стадиях разработки продукта обычно используются платы разработки со специальными и легкодоступными интерфейсами отладки для подключения инструментов отладки. SoC, используемые на рынке мобильных устройств, полагаются на две технологии отладки: отладка в режиме остановки с помощью цепочки сканирования и отладка в режиме остановки с помощью регистров отладки, отображаемых в памяти.

Следующие стандарты отладки, отличные от MIPI, хорошо зарекомендовали себя на рынке встраиваемых систем: IEEE 1149.1 JTAG (5-контактный) и ARM Serial Wire Debug (2-контактный), оба используют несимметричные контакты. Таким образом, рабочей группе по отладке MIPI не было необходимости указывать протокол отладки в режиме остановки или указывать интерфейс отладки.

Данные трассировки, сгенерированные и объединенные в поток трассировки внутри SoC, могут передаваться через специальный однонаправленный интерфейс трассировки за пределы кристалла в инструмент анализа трассировки. Архитектура отладки MIPI предоставляет спецификации как для параллельных, так и для последовательных портов трассировки.

Интерфейс параллельной трассировки MIPI (MIPI PTI) определяет, как передавать данные трассировки на несколько выводов данных и тактовый вывод (несимметричный). Спецификация включает имена и функции сигналов, синхронизацию и электрические ограничения. Последней версией спецификации интерфейса параллельной трассировки, принятой платой MIPI, является версия 2.0 (октябрь 2011 г.). [7]

Интерфейс высокоскоростной трассировки MIPI (MIPI HTI) определяет, как передавать данные трассировки через физический уровень стандартных интерфейсов, таких как PCI Express , DisplayPort , HDMI или USB. Текущая версия спецификации допускает от одной до шести полос движения. Спецификация включает в себя:

  • Уровень PHY, который представляет электрические и тактовые характеристики последовательных каналов.
  • Уровень LINK, который определяет, как трассировка упаковывается в протокол Aurora 8B/10B .
  • Модель программиста для управления HTI и предоставления информации о состоянии.
34-контактный разъем уровня платы

HTI — это подмножество спецификации высокоскоростного последовательного порта трассировки (HSSTP), определенной ARM. [8] Последней версией спецификации высокоскоростного интерфейса трассировки, принятой платой MIPI, является версия 1.0 (июль 2016 г.). [9]

Разработчики плат и поставщики средств отладки получают преимущества от стандартных разъемов отладки и стандартного распределения контактов. Рекомендации MIPI для разъемов отладки и трассировки рекомендуют 10-/20-/34-контактные разъемы уровня платы размером 1,27 мм (0,050 дюйма) (MIPI10/20/34). Было указано семь различных сопоставлений контактов, которые подходят для широкого спектра сценариев отладки. Они включают стандартные интерфейсы JTAG (IEEE 1149.1), cJTAG (IEEE 1149.7) и 4-битные интерфейсы параллельной трассировки (в основном используемые для системной трассировки), дополненные стандартом последовательной проводной отладки (SWD), специфичным для ARM. [10] Разъемы отладки MIPI10/20/34 стали стандартом для встраиваемых систем на базе ARM.

Многие встраиваемые конструкции в мобильной сфере используют высокоскоростные параллельные порты трассировки (до 600 мегабит в секунду на контакт). MIPI рекомендует 60-контактный разъем Samtec QSH/QTH под названием MIPI60, который позволяет использовать JTAG/cJTAG для управления работой, до 40 сигналов данных трассировки и до 4 тактовых импульсов трассировки. Чтобы свести к минимуму сложность, в рекомендации определены четыре стандартные конфигурации с одним, двумя, тремя или четырьмя каналами трассировки различной ширины.

Последней принятой платой MIPI версией Рекомендации Альянса MIPI для соединителей отладки и трассировки является версия 1.1 (март 2011 г.). [11]

PHY и интерфейсы с наложением контактов

[ редактировать ]
USB Type-C , контакты USB2, используемые для отладки SWD
USB Type-C Мультиплексор переключает контакты USB2 на контакты SWD

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

  • Протокол переключения реализован в средстве отладки и в мобильном терминале.
  • Существует адаптер отладки, который подключает инструмент отладки к стандартному интерфейсу. При необходимости адаптер отладки должен поддерживать протокол переключения.
  • Указано сопоставление контактов стандартного интерфейса с контактами отладки.

Узкий интерфейс MIPI для отладки и тестирования (MIPI NIDnT) охватывает отладку через следующие стандартные интерфейсы: microSD , разъем USB 2.0 Micro-B/-AB, разъем USB Type-C и DisplayPort. Последняя версия спецификации узкого интерфейса для отладки и тестирования, принятая платой MIPI (NIDnT). СМ ) — версия 1.2 (декабрь 2017 г.). [12]

Сетевые интерфейсы

[ редактировать ]
Протокол MIPI SneakPeek (MIPI SPP)

Вместо повторного использования контактов отладку можно также выполнять через стек протоколов стандартного интерфейса или сети. Здесь отладочный трафик сосуществует с трафиком других приложений, использующих тот же канал связи. Рабочая группа MIPI Debug назвала этот подход GigaBit Debug . Поскольку для этого подхода не существовало протокола отладки, рабочая группа по отладке MIPI определила свой протокол отладки SneakPeak.

Протокол MIPI SneakPeek (MIPI SPP) перешел от выделенного интерфейса для базовой отладки к интерфейсу, управляемому протоколом:

  • Он преобразует входящие пакеты команд в доступ для чтения/записи к памяти, регистрам отладки, отображаемым в памяти, и другим системным ресурсам, отображенным в памяти.
  • Он преобразует результаты команд (информацию о состоянии и данные чтения, поступающие из памяти, регистров отладки, отображаемых в памяти, и других системных ресурсов, отображаемых в памяти) в исходящие пакеты ответов.
  • Поскольку SneakPeek принимает пакеты, поступающие через входной буфер, и доставляет пакеты через выходной буфер, его можно легко подключить к любому стандартному вводу-выводу или сети.

Спецификация Альянса MIPI для протокола SneakPeek описывает основные концепции, необходимую инфраструктуру, пакеты и поток данных. Последняя версия спецификации протокола SneakPeek (SPP), принятая платой MIPI. СМ ) — версия 1.0 (август 2015 г.). [13]

Семейство спецификаций гигабитной отладки MIPI предоставляет подробную информацию для сопоставления протоколов отладки и трассировки со стандартными вводами-выводами или сетями, доступными в мобильных терминалах. Эти детали включают в себя: адресацию конечных точек, инициализацию и управление ссылками, упаковку данных, управление потоками данных, а также обнаружение и восстановление ошибок. Последней версией спецификации гигабитной отладки для USB (MIPI GbD USB), принятой платой MIPI, является версия 1.1 (март 2018 г.). [14] Последней принятой платой MIPI версией спецификации гигабитной отладки для сокетов интернет-протокола (MIPI GbD IPS) является версия 1.0 (июль 2016 г.). [15]

I3C как шина отладки

[ редактировать ]

Текущие решения для отладки, такие как JTAG и ARM CoreSight , имеют статическую структуру, что ограничивает масштабируемость в отношении доступности компонентов/устройств отладки. MIPI Debug для I3C представляет собой масштабируемое 2-контактное одностороннее решение для отладки, преимущество которого заключается в том, что оно доступно в течение всего срока службы продукта. Шину I3C можно использовать только в качестве шины отладки, или шину можно использовать совместно для отладки и выполнения ее основной функции в качестве шины сбора данных для датчиков. Отладка по I3C в принципе работает следующим образом:

  • Шина I3C используется для физического транспорта, а собственные функции I3C используются для настройки шины и горячего соединения новых компонентов.
  • Протокол отладки заключен в специальные команды I3C. Поддерживаемые протоколы отладки: JTAG, ARM CoreSight и протокол MIPI SneakPeek. [13]
  1. ^ «Рабочая группа по отладке» . МИПИ Альянс . 2019 . Проверено 7 июня 2019 г.
  2. ^ «Обзор архитектуры для отладки» (PDF) . МИПИ Альянс . Версия 1.2. 13 июля 2018 года . Проверено 7 июня 2019 г.
  3. ^ «Системное программное обеспечение MIPI — трассировка (MIPI SyS-T)» . МИПИ Альянс . Версия 1.0. Апрель 2018 года . Проверено 7 июня 2019 г.
  4. ^ «Системная трассировка макроячейки» . ARM-разработчик . 2019 . Проверено 7 июня 2019 г.
  5. ^ «Протокол трассировки системы MIPI (MIPI STP)» . МИПИ Альянс . Версия 2.2. Февраль 2016 года . Проверено 7 июня 2019 г.
  6. ^ «Протокол MIPI Trace Wrapper (MIPI TWP)» . МИПИ Альянс Версия 1.1. Декабрь 2014 года . Получено 7 июня.
  7. ^ «Интерфейс параллельной трассировки MIPI (MIPI PTI)» . МИПИ Альянс Версия 2.0. Октябрь 2011 года . Получено 8 июня.
  8. ^ «Обзор архитектуры CoreSight: высокоскоростной последовательный порт трассировки (HSSPT)» . ARM-разработчик . 2019 . Проверено 8 июня 2019 г.
  9. ^ «Интерфейс высокоскоростной трассировки MIPI (MIPI HTI)» . МИПИ Альянс . Версия 1.0. июль 2016 года . Проверено 8 июня 2019 г.
  10. ^ «Отладка последовательного провода» . ARM-разработчик . 2019 . Проверено 8 июня 2019 г.
  11. ^ «Рекомендации Альянса MIPI для соединителей отладки и трассировки» . МИПИ Альянс .
  12. ^ «Узкий интерфейс MIPI для отладки и тестирования (MIPI NIDnT)» . МИПИ Альянс . Версия 1.2. Декабрь 2017 года . Проверено 9 июня 2019 г.
  13. ^ Jump up to: а б «Протокол MIPI SneakPeek (MIPI SPP)» . МИПИ Альянс Версия 1.0. Август 2015 года . Получено 9 июня.
  14. ^ «MIPI Gigabit Debug для USB (MIPI GbD USB) » МИПИ Альянс Версия 1.1. Март 2018 года . Получено 9 июня.
  15. ^ «Гигабитная отладка MIPI для IP-сокетов (MIPI GbD IPS) » МИПИ Альянс Версия 1.0. июль 2016 года . Получено 9 июня.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6bfa9b86ed7b3ae7d2bd52151accdd8d__1699143600
URL1:https://arc.ask3.ru/arc/aa/6b/8d/6bfa9b86ed7b3ae7d2bd52151accdd8d.html
Заголовок, (Title) документа по адресу, URL1:
MIPI Debug Architecture - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)