Пролистав эту статью , мне стало интересно, каковы преимущества отладки SWD по сравнению с отладкой JTAG?
Я понимаю, что SWD использует меньше проводов / контактов, занимает меньше места и т. Д. Но как это сказывается на производительности, возможностях и стоимости аппаратного программатора / отладчика? Может ли код по-прежнему прерываться, останавливаться и проходить через IDE, например, в Eclipse?
Можно ли запрограммировать чип ARM с помощью интерфейса SWD, как я полагаю, это можно сделать в JTAG?
Ответы:
SWD должен иметь возможность программировать набор микросхем ARM, а также отлаживать и добавлять точки останова. Еще одна хорошая вещь в SWD - вы можете использовать средство просмотра последовательных проводов для своих операторов printf для отладки. Я использовал его только с компилятором Keil.
источник
электрически
Функционально
Обсуждение
JTAG более широко поддерживается, начиная с 2017 года, микро-программистами, программистами и производственными линиями не-ARM. Программисты для JTAG можно недорого купить в виде прорывов FT232H [*] и других подобных устройств программирования. Тем не менее, SWD имеет явное преимущество в скорости и других областях отладки чипов ARM.
Из-за разделения целевого характера JTAG в тестировании и SWD в отладке, ARM предоставляет SWJ-DP (последовательный порт отладки wire / jtag) через свою технологию CoreSight, которая отображает выводы SWD на тактовые импульсы JTAG и линии сброса. Таким образом, SWJ-DP позволяет использовать оба протокола в одном и том же физическом соединении, хотя необязательно в одно и то же время или с теми же программистами, что и JTAG и SWD, должны быть мультиплексированы во времени.
Полезные ссылки
источник
Возможно, я немного опоздаю с ОП, но, возможно, это будет полезно для некоторых людей с таким же вопросом. Итак, начнем (личный опыт): можно программировать и отлаживать (извлекать память / регистрировать карты, разбивать, запускать из определенной точки и т. Д.) С помощью SWD. Использование Eclipse здесь с GDB через J-Link EDU, который стоит ~ 50 евро. Есть некоторые ошибки (сбрасывание цели с помощью отладчика, иногда не удается подключиться или получить карты), но это относительно дешево и удобно, как только вы познакомитесь с его причудами
источник
Старый вопрос, но ни один из ответов не касается сравнения производительности. Хотя набор функций между SWD и JTAG (при использовании CoreSight DAP) почти одинаков, последовательности SWD примерно на 10% короче, чем эквивалентные последовательности JTAG.
В большинстве случаев потери пропускной способности данных отсутствуют (особенно потоковое чтение или запись, где пропускная способность наиболее важна).
источник