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

 
 
> Альтернатива USART, Как насчет SWO?
NeDoEng
сообщение Jun 15 2016, 12:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 17-04-16
Пользователь №: 91 333



В настоящее время (впрочем как и многие начинающие) использую для вывода отладочных сообщений USART. Т.е. помимо программатора к плате подключен еще и преобразователь USB-USART - неудобно же.
Знаю, что есть такой интерфейс SWD, который поддерживает вывод отладочной информации через вывод SWO. Т.е. имея 1 программатор с интерфейсом SWD такой как ST-link/V2 можно и шить и получать отладочные сообщения.
Например при использовании USART на скорости 921600 бод 1 байт можно передать примерно за 11 мкс. Достаточно быстро и погрешность установки скорости 0,16%. Быстрее пробовал, но не пашет почему-то. Использую преобразователь на ft2232.

SWO может так же или быстрее? Нигде не найду конкретных значений.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexandrY
сообщение Jun 16 2016, 11:13
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Странно.
Куча разработчиков, но только единицы заботит быстродействие отладочного канала.
Хотя от этого напрямую зависит производительность программиста встраиваемых систем.

Короче так:

Скорость вывода по SWO вот в таком цикле :
Код
#define TESTBUF_SZ 1024
char testbuf[TESTBUF_SZ];


  for (i=0;i<1000;i++)
  {
    fwrite(testbuf, 1 , TESTBUF_SZ, stdout);
  }

будет:

J-Link Ultra+ - 2.7 Мбайт/с
J-Link - 480 Кбайт/с
ST-Link/V2 - 160 Кбайт/с
Go to the top of the page
 
+Quote Post
x893
сообщение Jun 16 2016, 13:12
Сообщение #3


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

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



Цитата(AlexandrY @ Jun 16 2016, 14:13) *
Странно.
Куча разработчиков, но только единицы заботит быстродействие отладочного канала.
Хотя от этого напрямую зависит производительность программиста встраиваемых систем.

Короче так:

Скорость вывода по SWO вот в таком цикле :
Код
#define TESTBUF_SZ 1024
char testbuf[TESTBUF_SZ];


  for (i=0;i<1000;i++)
  {
    fwrite(testbuf, 1 , TESTBUF_SZ, stdout);
  }

будет:

J-Link Ultra+ - 2.7 Мбайт/с
J-Link - 480 Кбайт/с
ST-Link/V2 - 160 Кбайт/с


Сравните со скоростью передачи через RTT
https://www.segger.com/jlink-rtt.html
раздел
Performance
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:53
Рейтинг@Mail.ru


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