Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
686.docx
Скачиваний:
85
Добавлен:
24.04.2019
Размер:
6.68 Mб
Скачать

Ieee 1149.1 jtag - механизм граничного сканирования

JTAG предназначен для решения следующего перечня основных задач:

 начальное тестирование, которое выявляет технологические дефекты

изготовления;

 доставка

необходимой

конфигурации

для

программируемых

компонент;

 поддержка различного рода отладочных механизмов (статических или

динамических) и режима мониторинга.

 Гибкость

использования

механизма

граничного

сканирования

достигается рядом особенностей стандарта, основными из которых

являются:

157

 возможность

устройств,

параллельной

поддерживающих

согласованной

данный

работы

стандарт

нескольких

(количество

ограничивается электрическими параметрами интерфейса);

 возможность расширения самого механизма (введение дополнительных

команд и форматов данных).

Первое определяет возможность использования механизма граничного

сканирования при разработке многопроцессорных систем с гомогенной или

гетерогенной структурой. Второе расширяет круг задач, где может эффективно

применяться механизм, позволяя решать, например, задачи отладки, сбора

диагностики и мониторинга.

3.3.3.1 Реализация jtag-инструментария

Решая задачу схемотехнического проектирования встроенной системы,

проектировщики

закладывают

средства

начального

тестирования

и

внутрисхемной

инициализации.

Для

этого

разрабатывается

специализированное устройство или сервисный механизм инструментально-

технологического характера. Функциональность и состав инструментального

обеспечения определяются особенностями проекта. Инструментальные кросс-

средства представляют собой совокупность программных средств разработки и

аппаратных интерфейсов, которые обеспечивают доступ к целевому объекту с

инструментальной машины. Ресурсов инструментальной машины обычно

хватает для реализации интерпретатора языкового описания механизма

граничного сканирования при проведении большинства работ с макетным

образцом системы на этапах частичной инициализации и начальной отладки.

Иначе обстоит дело с опытными образцами системы, когда при проектировании

стараются сокращать выделенные инструментальные каналы, формируя

объединенные сервисные механизмы. При этом начальная инициализация

происходит с помощью ранее апробированных вычислительных компонент,

которые совмещают в себе целевую функциональность и поддержку

инструментального режима. Например, инструментальный канал и канал для

поддержки механизма граничного сканирования могут быть объединены. В

этом случае размещение интерпретатора на инструментальной машине

приведет к снижению эффективности работы из-за ограничений канала.

Актуальной становится реализация интерпретатора средствами “сервисного”

контроллера

в

составе

целевой

системы,

который

будет

выполнять

резидентную программу поддержки механизма граничного сканирования.

Решение в пользу такой резидентной реализации интерпретатора будет

зависеть

от

вычислительной

мощности

контроллера

и

сложности

интерпретируемого языка. На сегодняшний день многие производители

предоставляют такого рода интерпретаторы в исходных текстах, для различных

аппаратных платформ. Типовой вариант JTAG – системы приведен на рис. 5.

Эффективность использования технологии граничного сканирования во многом

зависит от решения двух вопросов: описания структуры цепочки JTAG и

158

формулировки алгоритма работы с описанной цепочкой. Под JTAG-цепочкой

(scan path)

понимается

полная

стандартная

тест-шина,

полученная

последовательным соединением сигналов TDI и TDO нескольких компонент.

Это понятие используется при решении следующих задач:

 описания

отдельных

микросхем,

поддерживающих

механизм

граничного сканирования;

 описания структуры целевой системы с точки зрения механизма

граничного сканирования;

 описания

(выделения)

цели

работы

конкретного

алгоритма

(программирование, тестирование).

Обычно в реальной системе имеется несколько микросхем, связанных в

одну JTAG-цепочку. Как отмечалось выше, для описания цепочек и их

иерархии используются языки BSDL и HSDL. Как средства описания они

эффективны, но практически не поддержаны доступными инструментальными

средствами. В результате цепочку JTAG-устройств разработчик задает тем или

иным неформальным образом, что ведет к резкому росту трудоемкости при

использовании механизма граничного сканирования. Задача выделения цели не

входит в число стандартных задач описания структуры JTAG-цепочки. Однако

на практике приходится очень редко работать с регистром граничного

сканирования BSR (Boundary Scan Register), равным объединению BSR всей

цепочки. Обычно для конкретного теста или алгоритма требуется не более

десятка ячеек в BSR или только одна микросхема в составе цепочки.

Стандартного средства такого описания, по-видимому, не существует. Это

объясняется, скорее всего, спецификой описания (по факту) JTAG-цепочки и

кругом

решаемых

JTAG

задач.

Есть

упоминания

о

средствах

программирования, например, flash-памяти, с помощью JTAG, что требует

выделения линий адреса, данных и управления во всем BSR. Однако в

известных реализациях это делается неформальным образом. Справедливости

ради, необходимо отметить, что в стандарте HSDL имеется возможность

«выделять» отдельные ячейки BSR, назначая им произвольные имена. Но это

нельзя назвать выделением цели в чистом виде, поскольку алгоритм,

составленный по такому описанию, по-прежнему будет оперировать полным

BSR. Что касается разработчика, то ему при работе также придется

рассматривать всю JTAG-цепочку (явным или неявным образом), даже если

используется только несколько выводов одной из микросхем.

3.3.4

Измерение производительности программ

Профилировка (профилирование) – измерение производительности как

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

«горячих» точек (Hot Spots) – тех участков программы, на выполнение которых

расходуется наибольшее количество времени.

Профилировщик

(профайлер, profiler) –

основной

инструмент

оптимизатора программ. Программный код ведет себя как в известной

159

пословице самый медленный верблюд, который определяет скорость каравана,

то есть производительность приложения определяется самым узким его

участком. Программисты нуждаются в инструментальных средствах, чтобы

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

программы.

Профилировщики

помогают

определить,

как

долго

выполняются

определенные части программы, как часто они выполняются, или генерировать

дерево вызовов (call graph). Типично эта информация используется, чтобы

идентифицировать те части программы, которые работают больше всего. Эти

трудоёмкие части могут быть оптимизированы, чтобы выполняться быстрее.

Это общая методика для отладки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]