STM32 новичку в ARM что к чему
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: STM32 новичку в ARM что к чему
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699567#p3699567"]у меня после чтения документации возникло устойчивое ощущение, что SWD и JTAG не более чем интерфейсы к одному и тому же ARM Debug Interface. То бишь, возможности доступа ко всем регистрам отладчика у них одинаковые.[/uquote]
"Из основных плюсов после хирургического вмешательства можно выделить:
Загрузка в RAM со скоростью до 3 МБайт/с
Неограниченное количество точек останова
Ну и конечно же кросплатформенность"
http://cdeblog.ru/converting-st-link-into-a-j-link
"Из основных плюсов после хирургического вмешательства можно выделить:
Загрузка в RAM со скоростью до 3 МБайт/с
Неограниченное количество точек останова
Ну и конечно же кросплатформенность"
http://cdeblog.ru/converting-st-link-into-a-j-link
- Реклама
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3699656#p3699656"]Загрузка в RAM со скоростью до 3 МБайт/с[/uquote]Урежь на порядок
Да и с остальным не всё так гладко - лицензий там нет на тот же JFlash. Но даже то что есть для отладки удобнее.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
Ярослав555, ну и пруфы у Вас )))
Скорость загрузки в RAM при отладки нужна только редким уникумам. А остальное зависит от софта, а не интерфейса отладки. Если пользуешься GDB - разницы просто не заметишь.
Скорость загрузки в RAM при отладки нужна только редким уникумам. А остальное зависит от софта, а не интерфейса отладки. Если пользуешься GDB - разницы просто не заметишь.
- afz
- Опытный кот
- Сообщения: 744
- Зарегистрирован: Сб дек 22, 2012 08:17:42
- Откуда: Караганда, Казахстан
Re: STM32 новичку в ARM что к чему
А, кстати, чем удобнее? Допустим, из-под Кейла? А то я, кроме SWD ничего не пробовал...VladislavS писал(а):Но даже то что есть для отладки удобнее.
Да фигня это про скорость - я глянул в исходную статью, там пишут, что клок JTAG может быть до 3 МГц, на большей оно отваливается.ПростоНуб писал(а):Скорость загрузки в RAM при отладки нужна только редким уникумам.
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="afz",url="/forum/viewtopic.php?p=3699695#p3699695"]А, кстати, чем удобнее?[/uquote]К примеру RTT. Линуксоид для этого занимает UART, пишет процедуры для вывода отладочных сообщений, подключает сопли чтобы их посмотреть. При этом вывод в UART занимает время, а это меняет реакцию системы на воздействия. А в rtt отладчик сам забирает сообщения из памяти.
А ещё я люблю в SRAM отлаживаться, если надо что-то быстро проверить. Умеет отладконенавистник так через uart?
А ещё я люблю в SRAM отлаживаться, если надо что-то быстро проверить. Умеет отладконенавистник так через uart?
- Реклама
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
VladislavS, не проще ли любителям выводить отладочные сообщения тогда использовать SWO (TRACESWO) в SWD, чем тратить два дополнительных пина на JTAG? На том китайском ST-Link V2, в котором вместо JDTI было +5V, порт JTDO/TRACESWO был выведен.
Ну и отлаживаться в SRAM SWD так же позволяет. Не убедили, что JTAG чем-то лучше SWD.
Ну и отлаживаться в SRAM SWD так же позволяет. Не убедили, что JTAG чем-то лучше SWD.
Re: STM32 новичку в ARM что к чему
Реклама - убрал.
Fakir.
Fakir.
Re: STM32 новичку в ARM что к чему
[uquote="afz",url="/forum/viewtopic.php?p=3699695#p3699695"]
На заборе тоже много чего написано. Отлаживал JTAG-ом на 25МГц - не отваливалось. Провода должны быть очень короткие, разводка платы - грамотная, питание эмулятора - достаточное, USB-провод - качественный. Иногда ещё фильтр от сетевых помех. И тогда всё работает стабильно.
А насчёт "уникумов": да, основной массе ногодрыгателей на самом дешманском STM32F103, моргающим лампочками этого не понять, но если на плате 128МБ и скажем для отладки нужно в прошивку загонять тестовые паттерны по нескольку десятков МБ, то преимущество видно невооружённым глазом.
Да даже с простой прошивкой, в которой нужно много данных и отладкой в SDRAM - несколько десятков раз в день перегрузить прошивку при отладке - и уже почувствуете разницу.
PS: Вот сейчас сижу под 25МГц (правда SWD):

Добавлено after 8 minutes 6 seconds:
[uquote="Asmodey",url="/forum/viewtopic.php?p=3699537#p3699537"]Там я уже смотрел. Мне непонятно, что такого есть в j-link, чего нет в st-link? Я ни того, ни другого в руках не держал.[/uquote]
А есть ли в ST-Link поддержка ETB? (для тех МК, которые его поддерживают)
Вещь очень хорошая там где есть! J-Link его поддерживает.
Да фигня это про скорость - я глянул в исходную статью, там пишут, что клок JTAG может быть до 3 МГц, на большей оно отваливается.[/uquote]ПростоНуб писал(а):Скорость загрузки в RAM при отладки нужна только редким уникумам.
На заборе тоже много чего написано. Отлаживал JTAG-ом на 25МГц - не отваливалось. Провода должны быть очень короткие, разводка платы - грамотная, питание эмулятора - достаточное, USB-провод - качественный. Иногда ещё фильтр от сетевых помех. И тогда всё работает стабильно.
А насчёт "уникумов": да, основной массе ногодрыгателей на самом дешманском STM32F103, моргающим лампочками этого не понять, но если на плате 128МБ и скажем для отладки нужно в прошивку загонять тестовые паттерны по нескольку десятков МБ, то преимущество видно невооружённым глазом.
Да даже с простой прошивкой, в которой нужно много данных и отладкой в SDRAM - несколько десятков раз в день перегрузить прошивку при отладке - и уже почувствуете разницу.
PS: Вот сейчас сижу под 25МГц (правда SWD):

Добавлено after 8 minutes 6 seconds:
[uquote="Asmodey",url="/forum/viewtopic.php?p=3699537#p3699537"]Там я уже смотрел. Мне непонятно, что такого есть в j-link, чего нет в st-link? Я ни того, ни другого в руках не держал.[/uquote]
А есть ли в ST-Link поддержка ETB? (для тех МК, которые его поддерживают)
Вещь очень хорошая там где есть! J-Link его поддерживает.
Последний раз редактировалось jcxz Пт сен 13, 2019 10:22:28, всего редактировалось 1 раз.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
[uquote="jcxz",url="/forum/viewtopic.php?p=3699742#p3699742"]правда SWD[/uquote]
А речь шла о преимуществах JTAG перед SWD. И где они?
А речь шла о преимуществах JTAG перед SWD. И где они?
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699726#p3699726"]VladislavS, не проще ли любителям выводить отладочные сообщения тогда использовать SWO (TRACESWO) в SWD, чем тратить два дополнительных пина на JTAG?[/uquote]Про дополнительные пины не понял. J-link точно так же по двум проводам SWD работает. Так что, тратить дополнительный пин это как раз про SWO. К тому же, во время вывода в SWO приложение стоит. При выводе в RTT приложение просто копирует сообщение в буфер и идёт дальше. Отладчик сам забирает его. Это позволят более скоростные события логировать.
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699726#p3699726"]Не убедили, что JTAG чем-то лучше SWD.[/uquote]А я и не пытался.
J-Link != J-TAG. Он и SWD умеет, да ещё и лучше.
Добавлено after 50 seconds:
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699746#p3699746"][uquote="jcxz",url="/forum/viewtopic.php?p=3699742#p3699742"]правда SWD[/uquote]
А речь шла о преимуществах JTAG перед SWD. И где они?[/uquote]Кто тот негодяй, кто эту речь затеял?
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699726#p3699726"]Не убедили, что JTAG чем-то лучше SWD.[/uquote]А я и не пытался.
Добавлено after 50 seconds:
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699746#p3699746"][uquote="jcxz",url="/forum/viewtopic.php?p=3699742#p3699742"]правда SWD[/uquote]
А речь шла о преимуществах JTAG перед SWD. И где они?[/uquote]Кто тот негодяй, кто эту речь затеял?
Re: STM32 новичку в ARM что к чему
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699746#p3699746"]А речь шла о преимуществах JTAG перед SWD. И где они?[/uquote]
Речь тут уже обо всём подряд шла.
Но если конкретно JTAG vs SWD, то можно почитать тут: http://sauris.de/ru/articles/?ELEMENT_ID=288
Конкретно на это обратить внимание:
Управляемое адаптивное тактирование. Микропроцессоры с ядром ARM, например ARM9, требуют частоты TCK, ограниченной сверху тактовой частотой ядра, деленной на определенный коэффициент. Так как после старта обычно у процессора PLL выключена, и частота ядра низка, то для начала отладки требуется и низкая частота TCK, которую впоследствии можно увеличить, после того, как PLL ядра будет запущена. Автоматизацию этого процесса обеспечивает адаптивное тактирование. Оно использует сигнал TCK_RET интерфейса JTAG для того, чтобы следующий перепад сигнала TCK был сформирован не ранее, чем предыдущий перепад пройдет через отлаживаемое устройство и вернется в эмулятор по этой линии. В результате эмулятор обеспечивает заданную в настройках частоту TCK, но адаптивно может ее снижать, как это определяет задержка в петле «TCK-TCK_RET».
Кроме того JTAG - это любые процессоры, не только ARM. А также и FPGA - тоже. Если на плате есть другие МК или FPGA, то их можно объединить в одну цепочку JTAG и отлаживать одновременно одним эмулятором. А SWD - это только ARM. Да и то только последние ядра (ARM7/9 насколько помню не поддерживают SWD).
Речь тут уже обо всём подряд шла.
Но если конкретно JTAG vs SWD, то можно почитать тут: http://sauris.de/ru/articles/?ELEMENT_ID=288
Конкретно на это обратить внимание:
Управляемое адаптивное тактирование. Микропроцессоры с ядром ARM, например ARM9, требуют частоты TCK, ограниченной сверху тактовой частотой ядра, деленной на определенный коэффициент. Так как после старта обычно у процессора PLL выключена, и частота ядра низка, то для начала отладки требуется и низкая частота TCK, которую впоследствии можно увеличить, после того, как PLL ядра будет запущена. Автоматизацию этого процесса обеспечивает адаптивное тактирование. Оно использует сигнал TCK_RET интерфейса JTAG для того, чтобы следующий перепад сигнала TCK был сформирован не ранее, чем предыдущий перепад пройдет через отлаживаемое устройство и вернется в эмулятор по этой линии. В результате эмулятор обеспечивает заданную в настройках частоту TCK, но адаптивно может ее снижать, как это определяет задержка в петле «TCK-TCK_RET».
Кроме того JTAG - это любые процессоры, не только ARM. А также и FPGA - тоже. Если на плате есть другие МК или FPGA, то их можно объединить в одну цепочку JTAG и отлаживать одновременно одним эмулятором. А SWD - это только ARM. Да и то только последние ядра (ARM7/9 насколько помню не поддерживают SWD).
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
JTAG отбирает уйму полезных ног!
А насчет SWD — я поначалу шил через него, но когда столкнулся с острой нехваткой ног, пришлось оставить только прошивку через UART. Мне это понравилось, и даже когда изредка выдается возможность оставить ноги SWD, все равно не пользуюсь ею.
Но вот надоело что-то жамкать кнопки boot и reset, подумал, что надо-таки принудительно оставлять SWD — сделать себе "прищепку"-переходник для st-link'а, а на плате с краю выделять площадки под этот разъем. В этом случае удобно будет разрабатывать: не надо каждые 5 минут кнопки жамкать, чтобы обновленную прошивку перезалить.
А насчет SWD — я поначалу шил через него, но когда столкнулся с острой нехваткой ног, пришлось оставить только прошивку через UART. Мне это понравилось, и даже когда изредка выдается возможность оставить ноги SWD, все равно не пользуюсь ею.
Но вот надоело что-то жамкать кнопки boot и reset, подумал, что надо-таки принудительно оставлять SWD — сделать себе "прищепку"-переходник для st-link'а, а на плате с краю выделять площадки под этот разъем. В этом случае удобно будет разрабатывать: не надо каждые 5 минут кнопки жамкать, чтобы обновленную прошивку перезалить.
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3699763#p3699763"]Кто тот негодяй, кто эту речь затеял?[/uquote]
Изначально Asmodey вроде спрашивал про J-Link vs ST-Link. Но ряд ораторов видно не поняли о чём вопрос.
Конечно J-Link прекрасно работает с SWD, что подтверждает моя картинка в предыдущих сообщениях.
Изначально Asmodey вроде спрашивал про J-Link vs ST-Link. Но ряд ораторов видно не поняли о чём вопрос.
Конечно J-Link прекрасно работает с SWD, что подтверждает моя картинка в предыдущих сообщениях.
Re: STM32 новичку в ARM что к чему
[uquote="jcxz",url="/forum/viewtopic.php?p=3699772#p3699772"]Кроме того JTAG - это любые процессоры, не только ARM. А также и FPGA - тоже.[/uquote]
А что общего у JLink JTAG и USB blaster JTAG окромя названия пинов?
Ась?
А что общего у JLink JTAG и USB blaster JTAG окромя названия пинов?
Ась?
Re: STM32 новичку в ARM что к чему
[uquote="dosikus",url="/forum/viewtopic.php?p=3699784#p3699784"]А что общего у JLink JTAG и USB blaster JTAG окромя названия пинов?
Ась?[/uquote]
Читайте внимательнее на то я отвечал. А ответ был на сообщение:
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699746#p3699746"]А речь шла о преимуществах JTAG перед SWD. И где они?[/uquote]
Ась?[/uquote]
Читайте внимательнее на то я отвечал. А ответ был на сообщение:
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3699746#p3699746"]А речь шла о преимуществах JTAG перед SWD. И где они?[/uquote]
Re: STM32 новичку в ARM что к чему
jcxz, я-то не только читаю , но и понимаю что речь о JTAG который у JLink , а тебя понесло фонтанировать...
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3699776#p3699776"]А насчет SWD — я поначалу шил через него, но когда столкнулся с острой нехваткой ног, пришлось оставить только прошивку через UART.[/uquote]Что uart две ноги, что SWD. Не пойму, где меня кидают...???
Добавлено after 3 minutes 36 seconds:
[uquote="dosikus",url="/forum/viewtopic.php?p=3699801#p3699801"]jcxz, я-то не только читаю , но и понимаю что речь о JTAG который у JLink , а тебя понесло фонтанировать...[/uquote]Сразу скажу, я так никогда не пробовал, но чисто теоретически можно сделать цепочку разношерстных устройств и подключаться к ним через один интерфейс. Понятно, что отладчика понимающего всё сразу в природе, наверное, нет. Но можно разные по очереди в одну дырку.
Добавлено after 3 minutes 36 seconds:
[uquote="dosikus",url="/forum/viewtopic.php?p=3699801#p3699801"]jcxz, я-то не только читаю , но и понимаю что речь о JTAG который у JLink , а тебя понесло фонтанировать...[/uquote]Сразу скажу, я так никогда не пробовал, но чисто теоретически можно сделать цепочку разношерстных устройств и подключаться к ним через один интерфейс. Понятно, что отладчика понимающего всё сразу в природе, наверное, нет. Но можно разные по очереди в одну дырку.
Re: STM32 новичку в ARM что к чему
Не единственный способ вывода отладочных сообщений. Еще есть simehosting, IDE зависимое типа Ebmonitor и т. д. работающее в т. ч. с ST-Link. А RTT кроме как с J-Link с каким отладчиками может работать?VladislavS писал(а):К примеру RTT.
Не сказал бы что запись во флеш требует много времени. Отладка в раме хороша тем что ресурс флеша не тратится.VladislavS писал(а):А ещё я люблю в SRAM отлаживаться, если надо что-то быстро проверить.
Re: STM32 новичку в ARM что к чему
VladislavS, я уже пытался Эдю агитировать на RTT. Дохлый номер...
VladislavS, Я вообще-то именно о FPGA , кои были затронуты..
VladislavS, Я вообще-то именно о FPGA , кои были затронуты..
Последний раз редактировалось dosikus Пт сен 13, 2019 11:22:28, всего редактировалось 1 раз.
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3699803#p3699803"]Сразу скажу, я так никогда не пробовал, но чисто теоретически можно сделать цепочку разношерстных устройств и подключаться к ним через один интерфейс. Понятно, что отладчика понимающего всё сразу в природе, наверное, нет. Но можно разные по очереди в одну дырку.[/uquote]
Я пробовал и отлаживал одновременно. Многоядерный МК. С разными ядрами к тому же. И отладчика оба одновременно и независимо друг от друга работают.
Но не на J-Link, а на другом JTAG (а то сейчас тут начнут клевать
)
Добавлено after 7 minutes 13 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3699806#p3699806"]Не сказал бы что запись во флеш требует много времени. Отладка в раме хороша тем что ресурс флеша не тратится.[/uquote]
Запись может и нет, но как записать туда что-то не стирая?
А в некоторых МК стирание 1-го сектора <=5.5 сек. Это не считая записи.
Я пробовал и отлаживал одновременно. Многоядерный МК. С разными ядрами к тому же. И отладчика оба одновременно и независимо друг от друга работают.
Но не на J-Link, а на другом JTAG (а то сейчас тут начнут клевать
Добавлено after 7 minutes 13 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3699806#p3699806"]Не сказал бы что запись во флеш требует много времени. Отладка в раме хороша тем что ресурс флеша не тратится.[/uquote]
Запись может и нет, но как записать туда что-то не стирая?
А в некоторых МК стирание 1-го сектора <=5.5 сек. Это не считая записи.


