Поиск по статьям
Все про умный дом
Все о пожарной безопасности
Сейчас читают
- Как смотреть youtube без тормозов и замедленияЕсли Вы на этой странице, то Вам, скорее всего, […]
- 10 лучших прогрессивных языков программирования для разработки мобильных приложенийЗнаете ли вы, что мобильные приложения — это не только […]
- 6 важных особенностей, которые следует учитывать при строительстве нового домаСтроительство нового дома – это уникальная возможность […]
Гороскоп на Сегодня
Что такое эмулятор JTAG?
Эмулятор JTAG — это тип встроенного эмулятора, используемого для отладки во время разработки программного обеспечения ЦП.
В отличие от внутрисхемного эмулятора (ICE), который эмулирует работу ЦП, заменяя ЦП на плате зондом. Эмулятор JTAG позволяет выполнять отладку, не снимая ЦП с платы, но с установленным ЦП.
Это дает преимущество в том, что позволяет проводить оценку при тех же электрических характеристиках, что и плата продукта, тем самым способствуя ранней коммерциализации.
Применение эмуляторов JTAG
JTAG — это отраслевой стандарт для тестирования БИС и плат. На основе этого технического стандарта производители ЦП проектируют порты тестового доступа (TAP) и проводят тесты сканирования границ (Boundary Scan Test).
В результате спецификации эмуляторов JTAG различаются у разных производителей ЦП. Поскольку спецификации, которые различаются у разных производителей, нельзя назвать JTAG, на основе исходных спецификаций был установлен стандарт интерфейса, соответствующий JTAG, и эмуляторы JTAG производятся на основе этого стандарта.
Принцип эмуляторов JTAG
Стандарт JTAG был стандартизирован в 1990 году как IEEE 1149.1. Причина этого в том, что по мере того, как ЦП и БИС становились все более мощными и сложными, шаг между контактами становился все уже и уже, что затрудняло отладку и тестирование путем непосредственного прикладывания тестовых зондов к контактам ЦП и БИС.
Для решения этой проблемы был разработан метод граничного сканирования для анализа состояния внутренних цепей путем зависимого соединения цепей внутри чипа и последовательного считывания состояния цепей.
Этот метод позволяет нам проверять внутреннее состояние ЦП или БИС без необходимости подсоединять тестовый зонд к каждому выводу ЦП или БИС.
Стандарт JTAG изначально был изобретен как метод тестирования ЦП и БИС, а позднее использовался как метод отладки при разработке программного обеспечения ЦП.
JTAG имеет пять сигнальных контактов: TCK (тактовый сигнал), TDI (вход данных), TDO (выход данных), TMS (управление состоянием) и TRST, но технические стандарты не определяют электрические характеристики этих сигналов. Они указываются производителем индивидуально.
Эмулятор JTAG можно использовать для отладки ЦП, проверки платы, связи между внутренними цепями ИС и хост-компьютера и записи данных в ПЛИС.
Отладка с помощью эмулятора JTAG
В этом разделе представлены методы, используемые для проверки работы разработанной программы, выявления дефектов и повышения производительности.
Пошаговое выполнение
Это базовый и наиболее часто используемый метод отладки. Для выполнения пошагового выполнения необходимо остановить запущенную программу один раз. Метод остановки программы включает установку условий, называемых точками останова, и использование функции принудительного останова. После остановки программы можно проверить состояние памяти, регистров и переменных, выполняя исходный код строка за строкой или функцией, или метод за методом.
Трассировка в реальном времени
Этот метод используется для отладки при возникновении непредвиденных условий. Даже если условия ветвления тщательно рассматриваются при проектировании программы, непредвиденные сбои часто происходят, когда программа объединяется с оборудованием или связана с другими системами. При пошаговом выполнении невозможно анализировать сбои, вызванные неизвестными условиями. Поэтому история выполнения программы, адрес и тип доступа к данным (чтение/запись), а также статус прерывания сохраняются в памяти трассировки для анализа сбоев.
Измерение времени
Можно измерить максимальное, минимальное и среднее время выполнения (между двумя точками от начала до конца) указанного модуля функционального блока. Также можно измерить связь между вызываемой функцией (дочерней функцией) и вызывающей функцией (родительской функцией), а также частоту вызовов. Улучшая вариацию времени выполнения и просматривая структуру функций, вы можете улучшить производительность своей системы.
Программирование с помощью эмулятора JTAG
Данные могут быть записаны непосредственно в ПЛИС или в конфигурационную память через ПЛИС. Конфигурационная память, с другой стороны, записывается в энергозависимую память ПЛИС (ОЗУ). С другой стороны, конфигурационная память является энергонезависимой памятью (ПЗУ), поэтому программа никогда не теряется после ее написания.
Выберите метод записи, который лучше всего подходит для сокращения количества разъемов и стадии разработки продукта (во время проектирования или массового производства).