Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/17: Рейтинг темы: голосов - 17, средняя оценка - 4.82
iosystm
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 14
1

USB CDC + SDIO на STM32F4

22.06.2014, 09:11. Просмотров 3098. Ответов 5
Метки нет (Все метки)

Парни, приветствую.
Подскажите, может кто пытался запустить Fatfs + USB CDC одновременно?
У меня проблема такого характера: идет инициализация SDIO+Fatfs, далее на карточку успешно пишется пара строк. После в коде идет инициализация USB CDC и после последней функции инициализации прерывания USB процесс то ли зависает, то ли медленно начинает проходить. Вобщем после запуска USB CDC на карточку ничего не пишется, usb не работает (компом определяется неизвестное устройство).
Если отключить питание слота SD карточки, то USB нормально стартует,вирт som-порт отлично работает.
Если в коде отключить инициализацию USB, то на карточку тоже все отлично пишется. Но вместе эти две приблуды не хотят работать.
Вот здесь топикстартер пишет, что
Вторая проблема в том, что используемые библиотеки реализуют все операции с USB через прерывания. Соответственно все операции с картой памяти тоже будут происходить внутри обработчика этого прерывания. Когда приоритет прерывания USB ниже чем приоритет SDIO и SDIO_DMA, то все будет работать за счет вложенности прерываний, иначе - все зависнет внутри обработчика USB прерывания.
Вот как раз у меня похоже такая проблема - все виснет в обработчике USB. Помогите, как поменять приоритеты USB и SDIO? Перепробовал разные варианты, может не там меняю?
SDIO:
Код
static void NVIC_Confikurotion(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = SD_SDIO_DMA_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_Init(&NVIC_InitStructure);
}
USB:
Код
void USB_OTG_BSP_EnableYmtirrupt(USB_OTG_CORE_HANDLE *pdiv)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = OTG_FS_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure); }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 09:11
Ответы с готовыми решениями:

USB Audio + USB CDC на одной STM32F4
Итак, есть ЦАП с входом I2S, есть FMприёмник с выходом I2S, есть STM32F405 с двумя I2S. Задача...

stm32f4 проблемы с USB CDC
Привет. Не когда не сталкивался с такой проблемой поэтому прошу помощи. В общем прошивка работает...

STM32F4-Discovery + USB CDC
Здравствуйте! Купил сие чудо STM32F4-Dyscovery. Прикрутил USORT, прерывания, акселерометр. Задача...

STM32F4-Discovery USB CDC
В общем, взял я особо популярный финский пример, подправил его быстро под Coosox. После дефайнов...

STM32F4 USB CDC размер пакета
Здравствуйте! Столкнулся с неприятной особенностью. STM32F4 USB CDC настроен на режим FS (Full...

5
iosystm
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 14
26.06.2014, 08:34 2
Решения пока не нашел...
0
Iykhth
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 40
26.06.2014, 11:09 3
Прошу прощения, но каким образом вообще пересекаются CDC и FatFs через SDIO? Мне почему-то кажется что вообще никак.
0
iosystm
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 14
27.06.2014, 23:19 4
Если бы я знал.
Могу судить только файлу настройки частот: USB и SDIO висят на одном канале, им обоим нужно 48MHz. Может и дальше они еще где-то завязаны, поэтому вместе их нужно каким-то особым способом запускать.
0
iosystm
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 14
29.06.2014, 21:57 5
Постоянно срабатывающее прерывание на usb постоянно сбрасывает какой-то флаг у sdyo.
Нет ни у кого работающей программки, чтобы был usb cdc и запись на карточку черtз sdyo?
0
oxford
0 / 0 / 0
Регистрация: 20.05.2016
29.06.2014, 22:00 6
Совет. Может вам попробывать обратиться в раздел Нужно разработать? Если срочно, я думаю так быстрее помогут.
0
29.06.2014, 22:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2014, 22:00

STM32F4 + USB CDC + libusb. Endpoints.
Доброго времени суток! У меня вопрос по конечным точкам, и правильным методам чтения\записи из\в...

STM32F4 +USB(CDC) проблемы с передергивание шнура
Здравствуйте уважаемые!! Использую стандартную библиотеку, все работает хорошо, перекидываюсь...

STM32F4 USB CDC. Передаёт не более 32 байт за раз
Понимаю, что может быть избитая и изъезженная тема тема, но всё же. Короче, взял пример...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru