====== Подключение выводов JTAG в микроконтроллерах ====== В контроллере реализованы последовательные отладочные интерфейсы: JTAG и/или SWD. Часто возникает вопрос, как подключать выводы JTAG микроконтроллера. В спецификации на микроконтроллеры серии 1986ВЕ9х указано, что «при работе в режиме отладки разрешается работа отладочного интерфейса JTAG/SW. При этом к микроконтроллеру может быть подключен JTAG/SW адаптер, с помощью которого программные средства разработки позволяют работать с микроконтроллером в отладочном режиме. Линии JTAG должны быть подтянуты к питанию сопротивлениями не менее 10К с учетом, чтобы эти подтяжки не влияли на работу системы». **Выводы JTAG:** ^ Вывод JTAG ^ ULINK ^ ULINK2 ^ J-LINK Segger ^ |TRST | 100кОм pull-up к Vcc | 100кОм pull-up к Vcc | Двунаправленный вывод. Необходимо доопределение до Ucc. Номинал разисторов подтяжки, рекомендованный Segger, до 100кОм (стр. 376) | |TCK | 100кОм pull-up к Vcc | 100кОм pull-down к GND | Рекомендуется, чтобы было определённое состояние, но без уточнения, какое именно| |TMS | 100кОм pull-up к Vcc | 100кОм pull-up к Vcc | Двунаправленный вывод. Необходимо доопределение до Ucc| |TDI | 100кОм pull-up к Vcc | 100кОм pull-up к Vcc | Рекомендуется, чтобы было определённое состояние, но без уточнения, какое именно| |TDO | Нет требований | Нет требований |Нет требований| **Выводы SWD:** SWD может использоваться вместо JTAG. Используется двунаправленный вывод TMS (SWDIO), который обеспечивает JTAG-отладку и возможность работать в тестовом режиме, и TCK(SWDCLK). Во время взаимодействия с устройством, программатор обменивается данными по SWDIO(TMS) синхронно SWCLK. (для Segger J-Link бит данных передается или принимается по каждому фронту сигнала TCK) ^ Вывод JTAG ^ ULINK ^ ULINK2 ^ J-LINK Segger ^ |TCK | 100кОм pull-up к Vcc | 100кОм pull-down к GND | Рекомендуется, чтобы было определённое состояние, но без уточнения, какое именно| |TMS | 100кОм pull-up к Vcc | 100кОм pull-up к Vcc | Двунаправленный вывод. Необходимо доопределение до Ucc| |TDO | Нет требований(опциональный) | Нет требований(опциональный) | Нет требований (опциональный) | Выбор номинала резистора для ULINK и ULINK2: http://www.keil.com/support/docs/3346.htm Можно использовать резисторы номиналом 10кОм или 100кОм (или любое другое значение из этого интервала). Важно, чтобы они использовались, тем самым защищая сигналы JTAG от неопределенного/произвольного состояния, когда выводы ни к чему не подсоединены. {{ :doc:jtag:fig_from_datasheet.png?nolink |}} Подключением выводов JTAG для ULINK http://www.keil.com/support/man/docs/ulink/ulink_hw_connectors.htm Подключение выводов JTAG для ULINK2 http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm Подключение выводов JTAG для SEGGER JLINK https://www.segger.com/downloads/jlink/UM08001 В отладочных платах вывод TDO подключен напрямую, без подтяжки к Ucc: {{ :doc:jtag:fig_from_demo91.png?nolink |}} Если используется только SWD (на примере 1986ВЕ4): {{ :doc:jtag:fig_from_demo4.png?nolink |}}