Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
Допустим, что у разработчика имеется устройство и его просят получить полный доступ к системе этого устройства. Поскольку имеется неограниченный физический доступ к устройству, возможно, у разработчика появится мысль об атаке непосредственно на аппаратную часть. С другой стороны, если у разработчика недостаточно опыта в этой области, могут возникнуть разные сомнения и вопросы.
Одним из наиболее перспективных способов проведения диагностики оборудования является применение интерфейса JTAG. Данный интерфейс является весьма распространенным, поэтому достаточно актуальными являются вопросы, которые касаются систематизации первичных данных о самом интерфейсе, а также проведения сравнения отечественных программаторов, которые работают с данным интерфейсом.
Описание интерфейса JTAG
Первые упоминания о данной теории появились еще в далеком 1965 году, когда профессор А. Заде выпустил свою статью под названием «FuzzySets». Перевод второго слова ни у кого не вызывал сомнений («множества»), а вот с первым словом возникли сложности, поскольку оно до сих пор не разу не употреблялось в научных источниках. В словаре имеется огромное число вариантов перевода данного слова, однако же чуть позже было окончательно определено, что это слово означает «нечеткий».
JTAG – распространенный аппаратный интерфейс для прямой связи компьютера с чипами на плате. Первая версия интерфейса была разработана консорциумом Joint (European) Test Access Group в середине 80-х годов вследствие постоянного усложнения методов тестирования печатных плат. JTAG начал приобретать популярность с тех пор, когда стал использоваться в процессорах Intel 80486 в 1990 году и стал соответствовать стандарту IEEE 1491 (в том же году). В наши дни JTAG используется для отладки, программирования и тестирования практически всех встроенных устройств [1].
Интерфейс JTAG позволяет производителю тестировать физические соединения между пинами на чипе
. Когда инженер говорит об использования JTAG для «отладки» платы, подразумевается нечто совсем другое, чем традиционная отладка приложения. В данном случае говорится о тестирование пина А у чипа А на предмет корректного соединения с пином Б чипа Б и того, что данные пины функционируют корректно. Поскольку JTAG дает прямой доступ к аппаратной части, данный интерфейс является отличным инструментом для исследования безопасности устройства. На рисунке 1 показана базовая схема JTAG.
Рисунок 1 - Базовая схема JTAG [2]
Стоит отметить, что JTAG не является:
- специфическим устройством для отладки прошивки и аппаратной части;
- приложением для отладки кода на устройстве;
- протоколом;
- коннектором [2].
Сравнение программаторов JTAG
Опишем порядок появления основных программаторов JTAG:
- CPLD EJTAG v1.x – «родоначальник» программаторов Tiny Tools, существует уже 5 лет (на 2014 год). Был построен на CPLD EPM7064. В данный момент ушёл на «покой»;
- USB-F v1.1 - реализация идей CPLD EJTAG для USB порта. Практически 90% всего софта CPLD EJTAG находится внутри самого устройства, в «мозге» PIC32MX440H и FPGA XCS05XL;
- USB-S - появился в результате спроса на недорогое решение, для нечастых ремонтов, с полным функционалом CPLD EJTAG, но для USB порта и дешевле USB-F. Реализован на MCU C8051F321. В данный момент ушёл на «покой». Функции USB-S в данный момент выполняет программатор ejFinder v2.0 и USB-SPI v2.0;
- CPLD EJTAG v2.0 - В версии 2.0 учтены «подводные камни», выявленные за эти годы. До сих пор этот программатор демонстрирует неплохую скорость, а при работе с флешью, без использования загрузчиков в озу, иногда и обгоняет USB-F v1.1
Закажи написание статьи по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!
Нужна помощь по теме или написание схожей работы? Свяжись напрямую с автором и обсуди заказ.
В файле вы найдете полный фрагмент работы доступный на сайте, а также промокод referat200 на новый заказ в Автор24.