37699
[i] Использование выводов, совмещённых с активным JTAG, в МК К1986ВЕ8Т
Я отлаживаю МК по интерфейсу SWD, активен JTAG_B. Возможно ли использовать выводы, совмещённые с активным JTAG, которые при этом не используются SWD (PB4, PB7, PB8), как пользовательские?
Все выводы, совмещённые с активным интерфейсом JTAG (таблица 19 - "Сигналы интерфейсов отладки"), в том числе и PB[4], PB[7], PB[8] при работе в SWD, выполняют только функцию отладочного контроллера, и не могут быть использованы как пользовательские. В микроконтроллере отладочный порт реализован на основе блока SWJ-DP, который включает в себя два интерфейса - JTAG и SWD. После сброса МК активен интерфейс JTAG, поэтому выводы PB[4], PB[7], PB[8] не могут быть использованы. При необходимости отладчик может переключить интерфейс с JTAG на SWD. Но даже в этом случае при использовании SWD все выводы, совмещённые с активным интерфейсом JTAG, использовать как пользовательские нельзя.
Чтобы не ограничивать выводы, используемые интерфейсом JTAG во время отладки, в МК реализовано два набора активных выводов - JTAG_A и JTAG_B. Активный JTAG задаётся режимом работы МК, выводы MODE[7:0]. Без использования отладки возможно использовать все выводы МК, для этого необходимо отключить интерфейс отладки, установив 15 бит DISABLE_JTAG в регистрах REG_60_TMR[2:0] контроллера BKP. Но необходимо учитывать, что если при старте МК пользовательская программа выключает JTAG, то отладка становится недоступна. После сброса по питанию JTAG включен, поэтому для отладки необходимо, чтобы программа не отключала JTAG, это можно сделать, выбрать другой режим MODE[7:0], при котором пользовательская программа не стартует.
Дополнительная информация про использование выводов, совмещённых с JTAG, также приведена в статье "[i] Наиболее частые ошибки программирования", пункт "Выводы, совмещенные с JTAG и SWD".
Чтобы не ограничивать выводы, используемые интерфейсом JTAG во время отладки, в МК реализовано два набора активных выводов - JTAG_A и JTAG_B. Активный JTAG задаётся режимом работы МК, выводы MODE[7:0]. Без использования отладки возможно использовать все выводы МК, для этого необходимо отключить интерфейс отладки, установив 15 бит DISABLE_JTAG в регистрах REG_60_TMR[2:0] контроллера BKP. Но необходимо учитывать, что если при старте МК пользовательская программа выключает JTAG, то отладка становится недоступна. После сброса по питанию JTAG включен, поэтому для отладки необходимо, чтобы программа не отключала JTAG, это можно сделать, выбрать другой режим MODE[7:0], при котором пользовательская программа не стартует.
Дополнительная информация про использование выводов, совмещённых с JTAG, также приведена в статье "[i] Наиболее частые ошибки программирования", пункт "Выводы, совмещенные с JTAG и SWD".
Документация
0.4.0 от 11.07.2025
11.07.2025