Question
MSC BOT state machine problem
Posted on November 05, 2012 at 07:45
Hi, I have been using the the MSD class driver for usb host on an STM32f4 board. The host seems to work fine for some time, but after say 200 read/write ops it gets stuck at:
void
USBH_Process(..................)
......
case
HOST_CLASS:
/* process class state machine */
status = phost->class_cb->Machine(pdev, phost);
.......
static
USBH_Status USBH_MSC_Handle(...........)
case
USBH_MSC_BOT_USB_TRANSFERS: <- stuck here
/* Process the BOT state machine */
USBH_MSC_HandleBOTXfer(pdev , phost);
..........
void
USBH_MSC_HandleBOTXfer (.................)
switch
(USBH_MSC_BOTXferParam.BOTState)
{
....
case
USBH_MSC_BOT_DATAIN_STATE: <-stuck here
I tried a few ways to manually rest this state but i was unable to figure out how, it would either keep on enumerating or something like that. How do I reset the state so it isnt stuck here? I can remove and put on power to the usb host port but I would keep that as a last resort.
#stm32 #usb #library #host #msc