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

 
 
 
Reply to this topicStart new topic
> Olimexino-STM32 (STM32F103RBT6) + USB + IAR 6.21, Не могу активировать USB
Tarhan
сообщение Mar 29 2012, 12:37
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594



Помогите, пожалуйста, разобраться как сделать так, чтобы хотя бы примеры из STM32_USB-FS-Device_Driver заработали.
У меня несколько плат Olimexino-STM32 (ссылка на описание). Поскольку они заточены под Maple (Arduino), то напрямую через USB я не перепрошиваю. Использую для прошивки ST-Link в платах STM32VLDiscovery. Простые примеры типа дергания ног и мигания светодиодами у меня работают.
А вот примеры из указанной библиотеки не работают, хоть и нормально компилируются и с сайта ST (с поправками для IAR 6.21 с исключением CMSIS из проекта, так как он уже встроен в IAR) и из папки примеров в IAR'е.
Например, пример виртуального COM порта VirtualCOMPort:
Код
int main(void)
{
  Set_System();
  Set_USBClock();
  USB_Interrupts_Config();
  USB_Init();

  while (1)
  {
    if ((count_out != 0) && (bDeviceState == CONFIGURED))
    {
      USB_To_USART_Send_Data(&buffer_out[0], count_out);
      count_out = 0;
    }
  }
}

Смотрю регистры отладчиком при старте. Регистры USB по нулям.
После Set_USBClock() в регистре USB_CNTR устанавливаются биты FRES и PDWN.
После USB_Interrupts_Config() регистры USB не изменяются (да и в исходном коде их ничто не меняет). Изменяются только в NVIC.
После USB_Init() в регистре USB_CNTR снимаются биты FRES,PDWN, устанавливаются SOFM,RESETM и CTRM. В регистре USB_ADDR устанавливается бит EF.
И все больше ничего с регистрами USB не происходит. Enumeration не производится и соответственно не комп не видит устройство. Прерывание USB_Istr вызывается только один раз, да и то видимо из USB_Init().

Подскажите, что делать.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 29 2012, 13:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tarhan @ Mar 29 2012, 15:37) *
Помогите, пожалуйста, разобраться как сделать так, чтобы хотя бы примеры из STM32_USB-FS-Device_Driver заработали.



Примеры там гарантированно рабочие. Лично я запускал Mass-Storage на FS и на HS. Проблема в том, что эти примеры писаны под плату с МК STM32Fxxx в корпусе YYY, а у вас, например, такой же МК, но в другом корпусе, в результате линии USB приходят на совсем другие линии GPIO ...
Go to the top of the page
 
+Quote Post
Tarhan
сообщение Mar 29 2012, 13:19
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594



Цитата(kovigor @ Mar 29 2012, 17:01) *
Примеры там гарантированно рабочие. Лично я запускал Mass-Storage на FS и на HS. Проблема в том, что эти примеры писаны под плату с МК STM32Fxxx в корпусе YYY, а у вас, например, такой же МК, но в другом корпусе, в результате линии USB приходят на совсем другие линии GPIO ...

Не знаю, я новичок. Как я указывал в заголовке темы чип STM32F103RBT6 (64-выводный корпус LQFP64). По схемам отладочной платы (ссылка на схему в PDF) USBDM подключен к 44 ноге (PA11), USBDP подключен к ноге 45 (PA12).
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 29 2012, 13:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tarhan @ Mar 29 2012, 16:19) *
Не знаю, я новичок. Как я указывал в заголовке темы чип STM32F103RBT6 (64-выводный корпус LQFP64). По схемам отладочной платы (ссылка на схему в PDF) USBDM подключен к 44 ноге (PA11), USBDP подключен к ноге 45 (PA12).


Ну вот и сравните эти данные с извлеченными из проекта ...
Go to the top of the page
 
+Quote Post
Tarhan
сообщение Mar 29 2012, 13:44
Сообщение #5





Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594



Я так понимаю, что вы хорошо знаете STM32_USB-FS-Device_Driver. Подскажите, какой файл смотреть или какие функции должны вызываться для remapping'а GPIO из примера на другие ноги нежели мои. RM0008 я сейчас штудирую, но наверное вы быстрее по памяти сможете подсказать
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 29 2012, 13:58
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tarhan @ Mar 29 2012, 16:44) *
Я так понимаю, что вы хорошо знаете STM32_USB-FS-Device_Driver. Подскажите, какой файл смотреть или какие функции должны вызываться для remapping'а GPIO из примера на другие ноги нежели мои. RM0008 я сейчас штудирую, но наверное вы быстрее по памяти сможете подсказать



Я просто эти проекты запускал у себя. См., кажется, usb_bsp.c -> USB_OTG_BSP_Init()
Go to the top of the page
 
+Quote Post
Tarhan
сообщение Mar 29 2012, 14:06
Сообщение #7





Группа: Новичок
Сообщений: 7
Регистрация: 28-04-06
Пользователь №: 16 594



Пока нашел по схеме платы, что у них USB Disconnect (видимо, так как, называется DISC) подключен на ногу 53 (пин 12 порта С, по даташиту), а в примере на GPIOD Pin_9. Заменил, все заработало.... вроде. Спасибо.
Windows 7 x64 пока борется с драйвером (сам драйвер с сайта ST я скачал и установил). Но по крайней мере пока устройство уже видно

Сообщение отредактировал Tarhan - Mar 29 2012, 14:10
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 29 2012, 14:09
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tarhan @ Mar 29 2012, 17:06) *
Пока нашел по схеме платы, что у них USB Disconnect (видимо, так как, называется DISC) подключен на ногу 53 (пин 12 порта С, по даташиту), а в примере на GPIOD Pin_9. Заменил, все заработало. Спасибо.



Рад был помочь ...
Go to the top of the page
 
+Quote Post
glonium
сообщение Aug 2 2012, 16:45
Сообщение #9


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

Группа: Участник
Сообщений: 77
Регистрация: 27-05-11
Пользователь №: 65 303



Народ не могу прошить эту плату (olimexino-stm32) схема переходника приведена тут http://electronix.ru/forum/index.php?showt...t&p=1080086 но Keil говорит что "st-link is not in DFU Mode" в чём дело понять пока не могу написал простенькую моргалку в симуляторе работает а вот "пощупать в железе" не получается help.gif , помогите пожалуйста.

Сообщение отредактировал glonium - Aug 2 2012, 16:45
Go to the top of the page
 
+Quote Post
glonium
сообщение Aug 3 2012, 05:52
Сообщение #10


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

Группа: Участник
Сообщений: 77
Регистрация: 27-05-11
Пользователь №: 65 303



Вопрос снят был неправильно распаян переходник!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:25
Рейтинг@Mail.ru


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