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

 
 
> 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
 
Start new topic
Ответов
Tarhan
сообщение Mar 29 2012, 13:44
Сообщение #2





Группа: Новичок
Сообщений: 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
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 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



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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 17:02
Рейтинг@Mail.ru


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