реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> SWD vs JTAG, Что лучше?
semen_992
сообщение Aug 3 2010, 12:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 24-08-08
Пользователь №: 39 783



Кто использовал JTAG и SWD под STM32F10x поделитесь мнением
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 3 2010, 20:55
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Если у вас отладочная плата и дебагер поддерживает и то и то. То в общем пофиг!
Но у SWD слегка побольше возможностей - если ими правильно пользоваться.
Например - по SWD можно законнектится к чипу когда он в ресете и будут доступны некоторые регистры, можно точку останова сразу влепить... Но тут все зависит от реализации отладчика...
И в режиме SWD ногу TDO можно использовать как SWO (трассировку и отладочная печать).

А если делать свою плату то можно минимизировать отладочный разъем - RESET, SWDIO, SWCLK

Заметная разница между SWD и JTAG будет при большом объеме данных и больших частотах. SWD может работать на гораздо больше частоте нежели JTAG.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Aug 3 2010, 21:07
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(KRS @ Aug 4 2010, 00:55) *
Заметная разница между SWD и JTAG будет при большом объеме данных и больших частотах. SWD может работать на гораздо больше частоте нежели JTAG.

То есть, SWD будет быстрее, чем JTAG? При заливке во флеш и при отладке?
Слышал вроде, что наоборот...
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 3 2010, 21:18
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(sonycman @ Aug 4 2010, 01:07) *
То есть, SWD будет быстрее, чем JTAG? При заливке во флеш и при отладке?
Слышал вроде, что наоборот...

не, на STM32 разница не должна быть заметна.
Хотя все зависит от отладчика. SWD протокол позволяет многие вещи делать быстрее, например ошибки потом обрабатывать... Вопрос в том как отладичк сделан. Я просто прикручивал к OpenOCD FT232R в синхро бит банг моде и поигрался с реализацией SWD. C точки зрения железа и софта он гораздо удобнее.
Go to the top of the page
 
+Quote Post
semen_992
сообщение Aug 5 2010, 05:25
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 24-08-08
Пользователь №: 39 783



Цитата(KRS @ Aug 3 2010, 23:55) *
Если у вас отладочная плата и дебагер поддерживает и то и то. То в общем пофиг!
Но у SWD слегка побольше возможностей - если ими правильно пользоваться.
Например - по SWD можно законнектится к чипу когда он в ресете и будут доступны некоторые регистры, можно точку останова сразу влепить... Но тут все зависит от реализации отладчика...
И в режиме SWD ногу TDO можно использовать как SWO (трассировку и отладочная печать).

А если делать свою плату то можно минимизировать отладочный разъем - RESET, SWDIO, SWCLK

Заметная разница между SWD и JTAG будет при большом объеме данных и больших частотах. SWD может работать на гораздо больше частоте нежели JTAG.



А если не минимизировать? smile.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение Aug 5 2010, 21:34
Сообщение #6


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(semen_992 @ Aug 5 2010, 09:25) *
А если не минимизировать? smile.gif

то можно будет и тот и тот протокол использовать.
Go to the top of the page
 
+Quote Post
x893
сообщение Aug 28 2010, 13:37
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



SWO удобно использовать (IAR).
Все printf(...) идут через SWO на экран.
4 провода + земля.

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jan 22 2013, 14:11
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



подскажите, поалуйста, схему распайки шлейфа-переходника от st link jtag к swd. соединила след. образом:
jtag swd
1.vcc 1.vcc
5.tdi 8.tdi
7.tms 2. tms_swdio
9.tclk 4.tck_swclk
13.tdo 6.tdo_swo
15.reset 10.reset
Это моя распайка шлейфа. при таком соединении не работает. При попытке записи программы из кейла или при попытке соединения через ст линк утилиту пишет нет соединения. в шлейфе что-то нужно делать с землями, соединять их или можно оставить не используемыми? где ошибка? что лишнее/чего не хватает?
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jan 22 2013, 16:14
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Абсолютный минимум для SWD - это два сигнала SWCLK(pin9) и SWDIO(pin7), ну и, разумеется, земля, хотя бы один провод, чем больше земель тем лучше.
Итого получается три провода. Для отладочной платы STM32_VL_DISCOVERY, используемой как программатор, этого достаточно.

Конкретно для ST-LINK нужен ещё один провод VAPP (pin 1), он-же Target Vcc - напряжение питания отлаживаемого процессора.
Это питание ST-LINK-у нужно для выходных буферов и он его наличие проверяет.
Если пользуете ST-LINK Utility, то в ней нужно выбрать Target->Settings и установить там что используется SWD а не JTAG.

Я использовал SWD с STM32_VL_DISCOVERY и с JLINK, плоский шлейф длиной ~25см, 4 жилы. Три из них накалываются на контакты 7,8,9, четвёртая на контакт 1.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 22 2013, 20:12
Сообщение #10


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Подскажите, отчего stlink из stm32fvldiscovery может не хотеть шить stm32f4? Думалось, там проблем нету... sad.gif
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Jan 22 2013, 21:26
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(semen_992 @ Aug 3 2010, 13:21) *
Кто использовал JTAG и SWD под STM32F10x поделитесь мнением

Все зависит от того, где процессор стоит. Если в гордом одиночестве, то SWD - проводов мало, разницы в скорости с JTAG нет (запись во флэш является тормозом). Если на плате в связке с STM32 еще парочка FPGA или даже еще один проц с JTAG, то лучше все нанизать на одну цепочку JTAG (в этом-то и есть его суть!), вывести на единственный разъем для всего и - вперед! Кстати, никто не напрягает использовать 20-ти ножечный монстр для разъема JTAG, т.к. нужно всего-то 5 сигналов:TDI, TDO, TCK, TMS и земля; TRST можно подтянуть внутри резистором на +VCC, поставив конденсатор 0.1uF на землю для сброса при подаче питания. "И - вперед, давай, давай..." © Лолита.
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jan 23 2013, 07:20
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



На моей плате под swd 10 пиновый разъем со след сигналами:
1.Vcc +3 V
2.tms_swdio
3. gnd
4.tck_swclk
5.gnd
6.tdo_swo
7.gnd
8.tdi
9.gnd
10.rst


Я соединяю след образом
JTAG SWD
7 TMS_SWDIO 2
8 GND 3
9 TCK_SWCLK 4
1 VCC 1
Пишет no st link detected, и keil, и st link utlity

Сообщение отредактировал batisto4ka - Jan 23 2013, 07:25
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jan 24 2013, 14:19
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



подключила следующим образом:
20 jtag к 3 swd (земля)
9 jtag к 4 swd (swclk)
7 jtag к 2 swd (swdio)

Пробовала подключать еще и питание 1 к 1,тоже работает, но и без питания работает.
Подлючала через st-link и через keil. Вроде все было нормально, а потом начала отлаживать программу и тут какой-то глюк. После чего вылезло can't halt the core. И эта беда ничем не леччится, ни отключением питания ничем. И через keil пробую прошить и через st-link. Что бы это значило и как оно лечится?
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jan 24 2013, 16:20
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(batisto4ka @ Jan 24 2013, 21:19) *
После чего вылезло can't halt the core. И эта беда ничем не леччится, ни отключением питания ничем. И через keil пробую прошить и через st-link. Что бы это значило и как оно лечится?

А что с ногой ресета у контроллера?
Если используете внешний супервизор с пуш-пульным выходом то так и будет.
Ресет у STM32 устроен так (см. референс мануал), что его нужно или открытым коллектором дёргать или через резистор (~1кОм примерно).


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
koyodza
сообщение Jan 24 2013, 17:56
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744



Цитата(SSerge @ Jan 24 2013, 18:20) *
А что с ногой ресета у контроллера?
Если используете внешний супервизор с пуш-пульным выходом то так и будет.
Ресет у STM32 устроен так (см. референс мануал), что его нужно или открытым коллектором дёргать или через резистор (~1кОм примерно).

Не совсем понятно, зачем здесь внешний супервизор. Внутренний работает нормально. Производитель рекомендует только ставить небольшой (0,1мкФ примерно) конденсатор с ноги сброса на землю, но не для начального сброса, а чтобы нога не ловила иголок. Этот конденсатор никому не мешает, ни отладчику, ни собственно сбросу. Резисторы не нужны, внешний супервизор обычно тоже

Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 14:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.015 секунд с 7
ELECTRONIX ©2004-2016