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

 
 
> STM32 OTG USB проблема с отладкой
Chameleon
сообщение Feb 21 2017, 07:35
Сообщение #1


Участник
*

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



Проц STM32F411RE.

Сгенерил в кубе и собрал в кейле пример виртуального ком-порта (CDC класс). Все работает.
Когда пытаюсь добавить в код вывод отладки через UART, все разваливается.

Просто добавляю в начало обработчика OTG_USB_IRQHandler строку

UARTPrint("\r\n---USB_IRQHandler")

и после этого в терминале вижу бесконечно только эту стоку и само устройство перестает определяться.
Скорость UART 115200.

До этого всегда делал отладку по этому принципу и для silabs и для SAM7, никогда она не мешала.
В STM32 USB имеет какие-то критичные тайм-ауты?

---------- Продолжение ---------------------

Через отладчик выяснил, что USB контроллер завален прерываниями. Например код обработки

CODE
/* Handle Connection event Interrupt */
    if(__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT))
    {
      HAL_PCD_ConnectCallback(hpcd);
      __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT);
    }


Это прерывание сыплется непрерывно.

Дефайн __HAL_PCD_CLEAR_FLAG определен как

CODE
#define __HAL_PCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__)    (((__HANDLE__)->Instance->GINTSTS) &= (__INTERRUPT__))


Если упростить, получится

CODE
GINTSTS &= 0x40000000;


Но ведь для сброса флага прерывания в него надо записывать "1" ????
Т.е. делать так:
CODE
GINTSTS |= 0x40000000;


И так "сбрасываются" все биты прерываний в регистре GINTSTS.

Как вообще эти примеры оказываются работоспособными???


Сообщение отредактировал Chameleon - Feb 21 2017, 12:18
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Forger
сообщение Feb 23 2017, 08:42
Сообщение #2


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Проверьте линии TX/RX аппаратно на плате, нет ли соплей и т .п.

Если временно использовать другой USART на других пинах, то проблемы остаются?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Chameleon
сообщение Feb 23 2017, 08:59
Сообщение #3


Участник
*

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



QUOTE (Forger @ Feb 23 2017, 11:42) *
Проверьте линии TX/RX аппаратно на плате, нет ли соплей и т .п.

Если временно использовать другой USART на других пинах, то проблемы остаются?


Пины проверил, одинаково не работает на ДВУХ разных платах. Под другой порт переделываю.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Chameleon   STM32 OTG USB проблема с отладкой   Feb 21 2017, 07:35
- - Forger   Цитата(Chameleon @ Feb 21 2017, 10:35) UA...   Feb 21 2017, 12:18
|- - Chameleon   QUOTE (Forger @ Feb 21 2017, 15:18) Нельз...   Feb 21 2017, 12:28
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 15:28) Пр...   Feb 21 2017, 12:30
||- - Chameleon   QUOTE (Forger @ Feb 21 2017, 15:30) Если ...   Feb 21 2017, 12:37
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 15:37) Пр...   Feb 21 2017, 12:45
||- - aaarrr   Цитата(Forger @ Feb 21 2017, 15:45) Все я...   Feb 21 2017, 12:54
||- - Chameleon   QUOTE (Forger @ Feb 21 2017, 15:45) Это н...   Feb 21 2017, 12:55
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 15:55) Я ...   Feb 21 2017, 13:06
||- - Chameleon   QUOTE (Forger @ Feb 21 2017, 16:06) А без...   Feb 21 2017, 13:15
||- - jcxz   Цитата(Chameleon @ Feb 21 2017, 19:15) UA...   Feb 21 2017, 13:18
||- - Chameleon   QUOTE (jcxz @ Feb 21 2017, 16:18) Вы теле...   Feb 21 2017, 13:21
||- - jcxz   Цитата(Chameleon @ Feb 21 2017, 19:21) См...   Feb 21 2017, 15:42
|- - jcxz   Цитата(Forger @ Feb 21 2017, 18:18) Нельз...   Feb 21 2017, 13:12
|- - Forger   Цитата(jcxz @ Feb 21 2017, 16:12) А как В...   Feb 21 2017, 13:32
|- - Chameleon   QUOTE (Forger @ Feb 21 2017, 16:32) Богат...   Feb 21 2017, 13:40
|- - Forger   Цитата(Chameleon @ Feb 21 2017, 16:40) У ...   Feb 21 2017, 13:43
|- - Chameleon   QUOTE (Forger @ Feb 21 2017, 16:43) Если ...   Feb 21 2017, 13:52
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 16:52) US...   Feb 21 2017, 13:54
||- - A.Lex   Цитата(Chameleon @ Feb 21 2017, 15:52) US...   Feb 21 2017, 14:10
|- - Chameleon   QUOTE (Forger @ Feb 21 2017, 16:43) Если ...   Feb 21 2017, 14:18
|- - Forger   Цитата(Chameleon @ Feb 21 2017, 17:18) На...   Feb 21 2017, 14:25
|- - Chameleon   А тогда чего вы полезли на STM32, коли на sam4s вс...   Feb 21 2017, 14:49
|- - Forger   Цитата(Chameleon @ Feb 21 2017, 17:49) А ...   Feb 21 2017, 14:58
||- - Chameleon   В таком случае все же придется изучать матчасть и ...   Feb 21 2017, 15:08
|- - Forger   Цитата(Chameleon @ Feb 21 2017, 17:49) Ко...   Feb 21 2017, 15:13
|- - Chameleon   QUOTE (Forger @ Feb 21 2017, 18:13) Коли ...   Feb 21 2017, 15:21
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 18:21) Я ...   Feb 21 2017, 15:31
||- - Chameleon   В основном коде ВНЕ прерываний эта функция работае...   Feb 21 2017, 15:46
||- - Forger   Цитата(Chameleon @ Feb 21 2017, 18:46) Пр...   Feb 21 2017, 16:32
||- - Chameleon   Чем дальше в лес, тем толще партизаны. Сделал отл...   Feb 22 2017, 04:53
||- - Forger   Цитата(Forger @ Feb 21 2017, 18:31) Прави...   Feb 22 2017, 05:50
|||- - Chameleon   QUOTE (Forger @ Feb 22 2017, 08:50) Покаж...   Feb 22 2017, 06:14
|||- - Forger   Я имел ввиду другое, гораздо более грамотное решен...   Feb 22 2017, 06:49
|||- - Chameleon   QUOTE (Forger @ Feb 22 2017, 09:49) Я име...   Feb 22 2017, 08:18
|||- - Forger   Цитата(Chameleon @ Feb 22 2017, 11:18) Па...   Feb 22 2017, 08:27
|||- - Chameleon   QUOTE (Forger @ Feb 22 2017, 11:27) Мля, ...   Feb 22 2017, 08:33
||- - jcxz   Цитата(Chameleon @ Feb 22 2017, 10:53) Че...   Feb 22 2017, 10:53
||- - Forger   Цитата(jcxz @ Feb 22 2017, 13:53) И тогда...   Feb 22 2017, 10:57
|- - jcxz   Цитата(Forger @ Feb 21 2017, 21:13) Кстат...   Feb 21 2017, 15:49
|- - Chameleon   QUOTE (jcxz @ Feb 21 2017, 18:49) Если че...   Feb 21 2017, 16:25
- - esaulenka   Цитата(Chameleon @ Feb 21 2017, 10:35) Де...   Feb 22 2017, 08:43
|- - Forger   Цитата(esaulenka @ Feb 22 2017, 11:43) Ко...   Feb 22 2017, 09:11
|- - Chameleon   QUOTE (Forger @ Feb 22 2017, 12:11) Вижу ...   Feb 22 2017, 09:20
||- - Forger   Цитата(Chameleon @ Feb 22 2017, 12:20) Сп...   Feb 22 2017, 09:38
||- - Chameleon   QUOTE (Forger @ Feb 22 2017, 12:38) А что...   Feb 22 2017, 09:52
||- - Forger   Цитата(Chameleon @ Feb 22 2017, 12:52) Вы...   Feb 22 2017, 10:42
|- - esaulenka   Цитата(Forger @ Feb 22 2017, 12:11) Не на...   Feb 22 2017, 11:07
|- - Forger   Цитата(esaulenka @ Feb 22 2017, 14:07) По...   Feb 22 2017, 11:23
- - uriy   Вероятно надо использовать HAL_UART_Transmit_IT ил...   Feb 22 2017, 08:59
- - AHTOXA   Цитата(Forger @ Feb 22 2017, 14:38) Короч...   Feb 22 2017, 13:02
|- - Forger   Цитата(AHTOXA @ Feb 22 2017, 16:02) Помощ...   Feb 22 2017, 13:23
|- - AHTOXA   Цитата(Forger @ Feb 22 2017, 18:23) Внима...   Feb 22 2017, 14:44
|- - Forger   Цитата(AHTOXA @ Feb 22 2017, 17:44) То ес...   Feb 22 2017, 15:02
||- - AHTOXA   Цитата(Chameleon @ Feb 22 2017, 20:06) Ре...   Feb 22 2017, 15:49
||- - Forger   Цитата(AHTOXA @ Feb 22 2017, 18:49) Разни...   Feb 22 2017, 16:04
||- - Chameleon   QUOTE А какой проц-то? В F405/407/415/417 - ART не...   Feb 22 2017, 16:25
||- - Forger   Цитата(Chameleon @ Feb 22 2017, 19:25) На...   Feb 22 2017, 16:35
|- - Chameleon   Ревизия проца A. Две штуки. Взял вторую плату, кит...   Feb 22 2017, 15:06
|- - Forger   Цитата(Chameleon @ Feb 22 2017, 18:06) Сд...   Feb 22 2017, 15:15
- - Thorn   Руководство по поиску причины HardFault   Feb 22 2017, 15:37
- - AHTOXA   Цитата(Chameleon @ Feb 22 2017, 21:25) UA...   Feb 22 2017, 16:40
|- - Forger   Цитата(AHTOXA @ Feb 22 2017, 19:40) Всё д...   Feb 22 2017, 16:44
|- - AHTOXA   Цитата(Forger @ Feb 22 2017, 21:44) Внутр...   Feb 22 2017, 17:49
|- - Forger   Цитата(AHTOXA @ Feb 22 2017, 20:49) Стек ...   Feb 22 2017, 17:59
|- - Chameleon   QUOTE (Forger @ Feb 22 2017, 20:59) Именн...   Feb 23 2017, 06:49
|- - Forger   Цитата(Chameleon @ Feb 23 2017, 09:49) В...   Feb 23 2017, 07:31
- - Chameleon   Все, нашел. Куб в коде выставляет в USBD_LL_Init(...   Feb 23 2017, 10:36
|- - Forger   Цитата(Chameleon @ Feb 23 2017, 13:36) И ...   Feb 23 2017, 10:47
|- - Chameleon   Внутри MX_USB_DEVICE_Init() и есть настройка hpcd...   Feb 23 2017, 11:03
|- - Forger   Цитата(Chameleon @ Feb 23 2017, 14:03) Вн...   Feb 23 2017, 13:29
|- - Timmy   Цитата(Forger @ Feb 23 2017, 16:29) Впроч...   Feb 28 2017, 04:08
|- - Obam   Цитата(Timmy @ Feb 28 2017, 08:08) Чтобы ...   Feb 28 2017, 08:25
- - Obam   Гы-гы-гы, повеселили! 5 страниц увлекательного...   Feb 23 2017, 11:16
- - rudy_b   Ага, у меня уже даже привычка появилась. Сначала г...   Feb 27 2017, 10:06


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

 


RSS Текстовая версия Сейчас: 3rd September 2025 - 01:52
Рейтинг@Mail.ru


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