- •От издательства
- •О техническом обозревателе
- •О соавторах
- •Об авторах
- •Вступительное слово
- •Благодарности
- •Предисловие
- •Почему важна защита интернета вещей?
- •Чем защита интернета вещей отличается от традиционной ИТ-защиты?
- •Законы хакинга интернета вещей
- •Заключение
- •Моделирование угроз для интернета вещей
- •Схема моделирования угроз
- •Определение архитектуры
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Использование деревьев атак для обнаружения угроз
- •Распространенные угрозы интернета вещей
- •Атаки с подавлением сигнала
- •Атаки с воспроизведением
- •Атаки со взломом настроек
- •Клонирование узла
- •Заключение
- •Пассивная разведка
- •Физический или аппаратный уровень
- •Периферийные интерфейсы
- •Среда загрузки
- •Блокировки
- •Предотвращение и обнаружение несанкционированного доступа
- •Прошивка
- •Интерфейсы отладки
- •Физическая устойчивость
- •Разведка
- •Атаки на сетевой протокол и службы
- •Тестирование беспроводного протокола
- •Оценка веб-приложений
- •Картирование приложений
- •Элементы управления на стороне клиента
- •Аутентификация
- •Управление сеансом
- •Проверка ввода
- •Логические ошибки
- •Сервер приложений
- •Исследование конфигурации хоста
- •Учетные записи пользователей
- •Привилегии учетной записи
- •Уровни патчей
- •Удаленное обслуживание
- •Управление доступом к файловой системе
- •Шифрование данных
- •Неверная конфигурация сервера
- •Мобильное приложение и облачное тестирование
- •Заключение
- •4. Оценка сети
- •Переход в сеть IoT
- •VLAN и сетевые коммутаторы
- •Спуфинг коммутатора
- •Двойное тегирование
- •Имитация устройств VoIP
- •Идентификация устройств IoT в сети
- •Обнаружение паролей службами снятия отпечатков
- •Атаки MQTT
- •Настройка тестовой среды
- •Написание модуля MQTT Authentication-Cracking в Ncrack
- •Тестирование модуля Ncrack на соответствие MQTT
- •Заключение
- •5. Анализ сетевых протоколов
- •Проверка сетевых протоколов
- •Сбор информации
- •Анализ
- •Создание прототипов и разработка инструментов
- •Работа с Lua
- •Общие сведения о протоколе DICOM
- •Генерация трафика DICOM
- •Включение Lua в Wireshark
- •Определение диссектора
- •Определение основной функции диссектора
- •Завершение диссектора
- •Создание диссектора C-ECHO
- •Начальная загрузка данных функции диссектора
- •Анализ полей переменной длины
- •Тестирование диссектора
- •Разработка сканера служб DICOM для механизма сценариев Nmap
- •Написание библиотеки сценариев Nmap для DICOM
- •Коды и константы DICOM
- •Написание функций создания и уничтожения сокетов
- •Создание заголовков пакетов DICOM
- •Написание запросов контекстов сообщений A-ASSOCIATE
- •Чтение аргументов скрипта в движке сценариев Nmap
- •Определение структуры запроса A-ASSOCIATE
- •Анализ ответов A-ASSOCIATE
- •Создание окончательного сценария
- •Заключение
- •6. Использование сети с нулевой конфигурацией
- •Использование UPnP
- •Стек UPnP
- •Распространенные уязвимости UPnP
- •Злоупотребление UPnP через интерфейсы WAN
- •Другие атаки UPnP
- •Использование mDNS и DNS-SD
- •Как работает mDNS
- •Как работает DNS-SD
- •Проведение разведки с помощью mDNS и DNS-SD
- •Злоупотребление на этапе проверки mDNS
- •Атаки «человек посередине» на mDNS и DNS-SD
- •Использование WS-Discovery
- •Как работает WS-Discovery
- •Подделка камер в вашей сети
- •Создание атак WS-Discovery
- •Заключение
- •UART
- •Аппаратные средства для связи с UART
- •Как найти порты UART
- •Определение скорости передачи UART
- •JTAG и SWD
- •JTAG
- •Как работает SWD
- •Аппаратные средства для взаимодействия с JTAG и SWD
- •Идентификация контактов JTAG
- •Взлом устройства с помощью UART и SWD
- •Целевое устройство STM32F103C8T6 (Black Pill)
- •Настройка среды отладки
- •Кодирование целевой программы на Arduino
- •Отладка целевого устройства
- •Заключение
- •Как работает SPI
- •Как работает I2C
- •Настройка архитектуры шины I2C типа «контроллер–периферия»
- •Заключение
- •9. Взлом прошивки
- •Прошивка и операционные системы
- •Получение доступа к микропрограмме
- •Взлом маршрутизатора Wi-Fi
- •Извлечение файловой системы
- •Статический анализ содержимого файловой системы
- •Эмуляция прошивки
- •Динамический анализ
- •Внедрение бэкдора в прошивку
- •Нацеливание на механизмы обновления микропрограмм
- •Компиляция и установка
- •Код клиента
- •Запуск службы обновления
- •Уязвимости служб обновления микропрограмм
- •Заключение
- •10. Радио ближнего действия: взлом rFID
- •Радиочастотные диапазоны
- •Пассивные и активные технологии RFID
- •Структура меток RFID
- •Низкочастотные метки RFID
- •Высокочастотные RFID-метки
- •Настройка Proxmark3
- •Обновление Proxmark3
- •Клонирование низкочастотных меток
- •Клонирование высокочастотных меток
- •Имитация RFID-метки
- •Изменение содержимого RFID-меток
- •Команды RAW для небрендированных или некоммерческих RFID-тегов
- •Подслушивание обмена данными между меткой и считывателем
- •Извлечение ключа сектора из перехваченного трафика
- •Атака путем подделки RFID
- •Автоматизация RFID-атак с помощью механизма скриптов Proxmark3
- •Пользовательские сценарии использования RFID-фаззинга
- •Заключение
- •11. Bluetooth Low Energy (BLE)
- •Как работает BLE
- •Необходимое оборудование BLE
- •BlueZ
- •Настройка интерфейсов BLE
- •Обнаружение устройств и перечисление характеристик
- •GATTTool
- •Bettercap
- •Взлом BLE
- •Настройка BLE CTF Infinity
- •Приступаем к работе
- •Заключение
- •12. Радиоканалы средней дальности: взлом Wi-Fi
- •Как работает Wi-Fi
- •Атаки Wi-Fi на беспроводные клиенты
- •Деаутентификация и атаки «отказ в обслуживании»
- •Атаки на Wi-Fi путем подключения
- •Wi-Fi Direct
- •Атаки на точки доступа Wi-Fi
- •Взлом WPA/WPA2
- •Взлом WPA/WPA2 Enterprise для сбора учетных данных
- •Методология тестирования
- •Заключение
- •13. Радио дальнего действия: LPWAN
- •Захват трафика LoRa
- •Настройка платы разработки Heltec LoRa 32
- •Настройка LoStik
- •Превращаем USB-устройство CatWAN в сниффер LoRa
- •Декодирование протокола LoRaWAN
- •Формат пакета LoRaWAN
- •Присоединение к сетям LoRaWAN
- •Атаки на LoRaWAN
- •Атаки с заменой битов
- •Генерация ключей и управление ими
- •Атаки воспроизведения
- •Подслушивание
- •Подмена ACK
- •Атаки, специфичные для приложений
- •Заключение
- •14. Взлом мобильных приложений
- •Разбивка архитектуры на компоненты
- •Выявление угроз
- •Защита данных и зашифрованная файловая система
- •Подписи приложений
- •Аутентификация пользователя
- •Управление изолированными аппаратными компонентами и ключами
- •Проверенная и безопасная загрузка
- •Анализ приложений iOS
- •Подготовка среды тестирования
- •Статический анализ
- •Динамический анализ
- •Атаки путем инъекции
- •Хранилище связки ключей
- •Реверс-инжиниринг двоичного кода
- •Перехват и изучение сетевого трафика
- •Анализ приложений Android
- •Подготовка тестовой среды
- •Извлечение файла APK
- •Статический анализ
- •Обратная конвертация двоичных исполняемых файлов
- •Динамический анализ
- •Перехват и анализ сетевого трафика
- •Утечки по побочным каналам
- •Заключение
- •15. Взлом умного дома
- •Физический доступ в здание
- •Клонирование RFID-метки умного дверного замка
- •Глушение беспроводной сигнализации
- •Воспроизведение потока с IP-камеры
- •Общие сведения о протоколах потоковой передачи
- •Анализ сетевого трафика IP-камеры
- •Извлечение видеопотока
- •Атака на умную беговую дорожку
- •Перехват управления интеллектуальной беговой дорожкой на базе Android
- •Заключение
- •Инструменты для взлома интернета вещей
- •Предметный указатель
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дачи–9600,38400,19200,57600 и 115200; каждую из них скрипт Хеф- |
|
|
|
|
|
m |
|||||
|
w Click |
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
фнера проверяет по умолчанию. |
|
w |
|
df-x chan |
|
o |
|
||||
|
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
JTAG и SWD
Как и UART, интерфейсы JTAG и SWD на встроенных устройствах IoT могут поспособствовать перехвату контроля над устройством. В этом разделе мы рассмотрим основы этих интерфейсов и способы взаи- модействия с ними. В разделе «Взлом устройства с помощью UART и SWD» будет приведен подробный пример взаимодействия с SWD.
JTAG
По мере того как производители выпускали все более компактные и плотные компоненты,тестировать их становилось все труднее. Ин- женеры использовалидля проверки оборудования на наличиедефек- товпроцесстестирования,условноназванный«кроваткаизгвоздей»: они помещали плату на матрицу из подпружиненных игольчатых контактов и проверяли наличие или отсутствие электического сое- динения между нужными контактами. Когда производители начали использоватьмногослойные платы и корпуса микросхем с контактми в виде шариков припоя, такие приспособления уже не обеспечивали доступ ко всем узлам на плате.
JTAG решил эту проблему, представив более эффективную альтер- нативу кроватке из гвоздей – граничное (периферийное) сканирова- ние.Граничноесканированиеанализируетопределенныесхемы,вклю- чая встроенные ячейки граничного сканирования и регистры для каждого вывода. Используя ячейки граничного сканирования, инже- неры проще чем раньше могутпроверить,что определеннаяточка на печатной плате правильно соединяется с другой точкой.
Команды граничного сканирования
Стандарт JTAG определяет специальные команды для проведения граничного сканирования, включая следующие:
zzBYPASS–позволяеттестировать конкретный чип без накладных расходов на прохождение через другие чипы;
zzSAMPLE/PRELOAD – берет образец данных, поступающих на устройство и выходящих из него, когда оно находится в нор- мальном рабочем режиме;
zzEXTEST – устанавливает и считывает состояния контактов.
Устройство должно поддерживать эти команды, чтобы считаться JTAG-совместимым. Устройства могут поддерживать дополнитель- ные команды, такие как IDCODE (для идентификации устройства), INTEST (для внутреннего тестирования устройства) и др. Вы можете встретитьэтиинструкции,когдаиспользуетеинструменттипаJTAGu-
Уязвимости портов UART,JTAG и SWD 199
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
lator (см. раздел «Идентификация контактов JTAG») для идентифика- |
|
|
to |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
|||
|
w Click |
|
|
|
|
|
|
||||
|
w |
|
|
|
|
|
|
|
|
|
|
ции контактов JTAG. |
|
w |
|
df-x chan |
|
o |
|
||||
|
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
Порттестового доступа
Граничное сканирование включает тесты четырехпроводного порта тестовогодоступа(TAP)–портаобщегоназначения,которыйобеспе- чивает доступ к функциям поддержки тестирования JTAG, встроен- ным в компонент. Он использует 16-ступенчатый конечный автомат, который переходит из состояния в состояние. Обратите внимание, что JTAG не определяет какой-либо протокол для данных, поступаю- щих в микросхему или из нее.
TAP использует следующие пять сигналов:
1)вход тестовых тактовых импульсов (Test clock input, TCK).
TCK – это тактовые импульсы, которые определяют, как часто контроллер TAP будет выполнять одно действие (другими сло- вами, переходить к следующему состоянию в конечном устрой- стве).Тактовая частота не указана в стандарте JTAG.Устройство, выполняющее тест JTAG, может определить ее значение;
2)вход выбора тестового режима (Test mode select, TMS). TMS
управляет конечным устройством. На каждом тактовом им- пульсе контроллер JTAG TAP устройства проверяет напряжение на выводе TMS. Если напряжение ниже определенного порога, сигнал считается низким и интерпретируется как 0; если напря- жение выше определенного порога, сигнал считается высоким и интерпретируется как 1;
3)вход тестовых данных (Test data input, TDI). Это вывод, который отправляет данные в микросхему через ячейки сканирования. Каждый поставщик отвечает за определение протокола связи через этот вывод, потому что JTAG этого не определяет. Сигнал, представленный в TDI, дискретизируется по нарастающему фронту TCK;
4)выход тестовых данных (Test data output, TDO). TDO – это вы-
вод,через который поступаютданные из микросхемы.Согласно стандарту, изменения в состоянии сигнала, передаваемого че- рез TDO,должны происходитьтолько на заднем фронте TCK;
5)вход тестового сброса (Test reset input, TRST). Дополнительный
TRST сбрасываетконечное состояние в заведомо исправное.Ак- тивен на низком уровне (0). В качестве альтернативы, если TMS удерживается на 1 в течение пяти последовательных тактовых циклов, вызывает сброс, так же как вывод TRST; поэтому TRST является необязательным.
Как работает SWD
SWD–двухконтактный электрический интерфейс,который работает очень похоже на JTAG. В то время как JTAG был создан в первую оче-
200 Глава 7
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
редьдлятестирования микросхем и плат,SWD является протоколом, |
|
|
|
|
|
m |
||||
w Click |
|
|
|
|
|
|
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
разработанным специально для отладки ARM. Учитывая широкоеdf-x chan |
.c |
|
||||||||
|
. |
|
|
|
|
|
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
e |
|
распространение процессоров ARM в мире интернета вещей, SWD приобретает все большую значимость. Если вы найдете интерфейс SWD,выпочтивсегда можетеполучитьполныйконтрольнад устрой- ством.
Интерфейс SWD требует двух выводов: двунаправленного сигнала SWDIO, который является эквивалентом выводов TDI, TDO и такто- вых импульсов JTAG, и SWCLK, который является эквивалентом TCK в JTAG. Многие устройства поддерживают Serial Wire или JTAG Debug Port (SWJ-DP), комбинированный интерфейс JTAG и SWD, который позволяет подключать зонд SWD или JTAG к целевому устройству.
Аппаратные средства для взаимодействия с JTAG и SWD
Разнообразные инструменты позволяют нам обмениваться данными с JTAG и SWD. Популярные инструменты включают в себя микросхе- му Bus Blaster FT2232H, а также любые инструменты с микросхемой
FT232H, такие как коммутационная плата Adafruit FT232H, Shikra
или Attify Badge. Bus Pirate также может поддерживать JTAG, если вы загрузите в него специальную прошивку, но мы не рекомендуем ис- пользовать эту функцию, поскольку она может быть нестабильной. Black Magic Probe, специализированный инструмент для взлома JTAG и SWD, имеет встроенную поддержку GNU Debugger (GDB), которая полезна,поскольку вам не потребуютсядополнительные программы,
такие как Open On-Chip Debugger (OpenOCD) (см.далее раздел «Уста-
новка OpenOCD»). Профессиональный инструмент отладки Segger J-Link Debug Probe поддерживает JTAG, SWD и даже SPI, но поставля-
ется с проприетарным программным обеспечением. Если вы хотите работать только с SWD, можно использовать такой инструмент, как программатор ST-Link (см. ниже раздел «Взлом устройства с помо-
щью UART и SWD»).
Дополнительные инструменты, их описания и полезные ссылки приводятся в разделе «Инструменты для взлома интернета вещей».
Идентификация контактов JTAG
Иногданапечатнойплатеестьмаркировка,указывающаярасположе- ние разъема JTAG (рис. 7.6). Но в большинстве случаев вам придется самостоятельно найти разъем, а также выяснить, какие выводы соот- ветствуют четырем сигналам (TDI , TDO, TCK и TMS).
Вы можете использовать несколько подходов для идентификации контактов JTAG на целевом устройстве. Самый быстрый, но самый дорогой способ обнаружения портов JTAG – использовать JTAGula- tor, устройство, созданное специально для этой цели (хотя оно так- же может определять распиновку UART). Инструмент, показанный на рис. 7.7, имеет 24 канала, которые можно подключить к контактам платы. Он выполняет сканирование прямым перебором (брутфорс),
Уязвимости портов UART,JTAG и SWD 201
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
выдавая команды граничного сканирования IDCODE и BYPASS для |
|
|
|
to |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
m |
||
w Click |
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
df-x chan |
|
o |
|
|||||
каждого сочетания контактов, и ожидает ответа. При получении от- |
. |
.c |
|
||||||||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
e |
|
вета он отображает канал, соответствующий каждому сигналу JTAG, позволяя идентифицировать распиновку JTAG.
Рис.7.6.Иногда заголовок JTAG четко обозначен на плате,как в этом мобильном платежном терминале (Point of Sales,POS),где помечены даже отдельные контакты JTAG (TMS,TDO,TDI,TCK)
Рис.7.7.JTAGulator (http://www.grandideastudio.com/jtagulator/) может помочь идентифицировать контакты JTAG на целевом устройстве
Чтобы использовать JTAGulator, подключите его к компьютеру с по- мощьюUSB-кабеля,азатемсоединитесьснимчерезпоследовательный порт (например, с помощью утилиты screen в Linux). Пример взаимо- действия через последовательный порт будет показан ниже, в разделе «Подключение USB к последовательному адаптеру».Вы можете посмо- треть, как создатель JTAGulator Джо Гранд (Joe Grand) демонстрирует свою разработку: https://www.youtube.com/watch?v=uVIsbXzQOIU/.
202 Глава 7