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

 
 
> STM32 USB_FS HAL
razrab83
сообщение Oct 11 2017, 05:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-17
Пользователь №: 96 902



Не могу поднять usb device на stm32f401 с помощью CubeMX.

Сделал в Cube простенький проект. Подключил только JTAG, USB-Device и указал VCP. настроил клоки. На USB 48 МГц, на шину AHB 24 MГц. Vbus - Разрешил.
Сгенерировал проект (IAR) запустил. подключил к ПК. На этом этапе я должен увидеть в диспетчере устройств свой девайс (STM32 Virtual ComPort).
В реале вижу Unknown device. Стал дебажить.
все прерывания от USB вызывают один обработчик в котором ведётся разбор.
void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd);

Код
/**
  * @brief  Handles PCD interrupt request.
  * @param  hpcd: PCD handle
  * @retval HAL status
  */
void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
{
  USB_OTG_GlobalTypeDef *USBx = hpcd->Instance;
  uint32_t i = 0U, ep_intr = 0U, epint = 0U, epnum = 0U;
  uint32_t fifoemptymsk = 0U, temp = 0U;
  USB_OTG_EPTypeDef *ep;
  uint32_t hclk = 180000000;


Первое, что мне не понравилось, это uint32_t hclk = 180000000; это частота hclk на AHB. Почему в коде 180 МГц? Исправил на 24.
Всё равно вижу Unknown device. Что-то идет не так.

поставил точки останова в разборе прерываний от усб. Прерывания поступают в следующем порядке

1) Handle Connection event Interrupt
2) Handle Suspend Interrupt
3) Handle Reset Interrupt
4) Handle Enumeration done Interrupt

всё! в другие ветки обработчика прерывания не попадаю. ПК не может вычитать PID/VID.

В инете полно статей по быстрому запуску USB. Они не рассматривают все внутренние механизмы USB, а только поверхностно настройка в CubeMX. Но чегото пошло не так... Аппаратно плата рабочая. Есть прошивка для этой платы, с которой усб работает.

Кто сталкивался с подобной проблемой? Куда копать?




Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Oct 11 2017, 07:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(razrab83 @ Oct 11 2017, 08:56) *
...Но чегото пошло не так...

Например, нулевой уровень на ID даст такую картину, если нет обработчика ID line status change interrupt.
Go to the top of the page
 
+Quote Post
razrab83
сообщение Oct 11 2017, 08:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-17
Пользователь №: 96 902



Цитата(aaarrr @ Oct 11 2017, 07:33) *
Например, нулевой уровень на ID даст такую картину, если нет обработчика ID line status change interrupt.

что-то в кубе не донастроил? как исправить?

Цитата(Genadi Zawidowski @ Oct 11 2017, 07:45) *
Сталкивался. Что-то сломали в st cube. Сгенерите под гцц будет работать.
как в кубе генерить ггц проекты?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 11 2017, 09:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(razrab83 @ Oct 11 2017, 11:26) *
что-то в кубе не донастроил? как исправить?

Проверьте состояние вывода ID. Про куб ничего не подскажу, не использовал никогда.
Go to the top of the page
 
+Quote Post
razrab83
сообщение Oct 11 2017, 10:19
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-17
Пользователь №: 96 902



Цитата(aaarrr @ Oct 11 2017, 09:30) *
Проверьте состояние вывода ID. Про куб ничего не подскажу, не использовал никогда.

что такое вывод ID?
Go to the top of the page
 
+Quote Post
juvf
сообщение Oct 11 2017, 12:36
Сообщение #6


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

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(razrab83 @ Oct 11 2017, 15:19) *
что такое вывод ID?
Согласен. Не совсем понятно что за вывод айди. Вроде речь о USB-Device, там ID не задействован.

2razrab83
столкнулся с подобной проблемой. Свой драйвер (сделанный из stm usb host library) работает, а кубовский нет.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 11 2017, 12:43
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(juvf @ Oct 11 2017, 15:36) *
Согласен. Не совсем понятно что за вывод айди. Вроде речь о USB-Device, там ID не задействован.

А мне вот кажется, что надо представлять себе устройство интерфейса и соответствующего периферийного блока процессора, если уж предполагается работать с ним на достаточно низком уровне. Тогда и вопросов не будет.

"Незадействованность" этого вывода весьма условная, см. сообщение выше.
Go to the top of the page
 
+Quote Post
juvf
сообщение Oct 11 2017, 12:54
Сообщение #8


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

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(aaarrr @ Oct 11 2017, 17:43) *
А мне вот кажется, что надо представлять себе устройство интерфейса и соответствующего периферийного блока процессора, если уж предполагается работать с ним на достаточно низком уровне. Тогда и вопросов не будет.

Я писал свой драйвер для разных процессоров), на низком уровне. выводов id для усб-девайс-онли не встречал. А вот всякие id (identification number) вшитые в чипы - это сплошь и рядом. и "вывод id" не совсем понятно.... пояснили, что это ножка, так ножка.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 11 2017, 13:03
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(juvf @ Oct 11 2017, 15:54) *
"вывод id" не совсем понятно.... пояснили, что это ножка, так ножка.

Сообщение №2: "нулевой уровень на ID". Господа, вы издеваетесь?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- razrab83   STM32 USB_FS HAL   Oct 11 2017, 05:56
|- - aaarrr   Цитата(razrab83 @ Oct 11 2017, 13:19) что...   Oct 11 2017, 10:24
||- - razrab83   Цитата(aaarrr @ Oct 11 2017, 10:24) Вывод...   Oct 11 2017, 10:41
||- - jcxz   Цитата(razrab83 @ Oct 11 2017, 13:41) есл...   Oct 11 2017, 10:44
||- - aaarrr   Цитата(razrab83 @ Oct 11 2017, 13:41) не ...   Oct 11 2017, 10:53
|- - A.Lex   Примеры есть. Вот http://www.mcu.by/старт-arm-подн...   Oct 11 2017, 13:01
||- - razrab83   Цитата(A.Lex @ Oct 11 2017, 13:01) Пример...   Oct 11 2017, 13:08
- - Genadi Zawidowski   Сталкивался. Что-то сломали в st cube. Сгенерите п...   Oct 11 2017, 07:45
- - razrab83   нашел ID пин, нужен для OTG. PA10 в моём процессо...   Oct 11 2017, 11:25
|- - jcxz   Цитата(razrab83 @ Oct 11 2017, 14:25) что...   Oct 11 2017, 12:03
||- - razrab83   Цитата(jcxz @ Oct 11 2017, 12:03) Здесь в...   Oct 11 2017, 12:25
|- - aaarrr   Цитата(razrab83 @ Oct 11 2017, 14:25) У м...   Oct 11 2017, 12:06
|- - esaulenka   Цитата(aaarrr @ Oct 11 2017, 15:06) Не зн...   Oct 16 2017, 12:09
|- - aaarrr   Цитата(esaulenka @ Oct 16 2017, 15:09) Ре...   Oct 16 2017, 12:55
- - razrab83   2aaarrr если будет время/желание.... соберите под ...   Oct 11 2017, 12:58
|- - aaarrr   Цитата(razrab83 @ Oct 11 2017, 15:58) 2aa...   Oct 11 2017, 13:11
- - ivan24190   razrab83, попробуйте увеличить размер стека и кучи...   Oct 11 2017, 16:43
|- - razrab83   Цитата(ivan24190 @ Oct 11 2017, 16:43) Пл...   Oct 12 2017, 04:17
|- - aaarrr   Цитата(razrab83 @ Oct 12 2017, 07:17) Хор...   Oct 12 2017, 08:50
|- - razrab83   Цитата(aaarrr @ Oct 12 2017, 08:50) F407V...   Oct 12 2017, 11:37
- - EmbedElektrik   а че за борда то? пулл-ап включается куда надо?   Oct 11 2017, 18:42
- - aaarrr   Определяется: ЦитатаBus 001 Device 006: ID 0483:57...   Oct 12 2017, 13:29
|- - razrab83   Цитата(aaarrr @ Oct 12 2017, 13:29) Опред...   Oct 13 2017, 03:50
|- - aaarrr   Цитата(razrab83 @ Oct 13 2017, 06:50) Да ...   Oct 13 2017, 12:05
- - razrab83   взал для испытаний кит дискавери на 401-ом. сгенер...   Oct 13 2017, 07:47
- - dimone   USBD_MAX_STR_DESC_SIZ если 256 поменяйте на 51...   Oct 31 2017, 09:33


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

 


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


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