EmbDev.net

Forum: ARM programming with GCC/GNU tools USB Host Enumeration problem


Author: Prakash Rajolli (Company: Coinel Technology Solutions) (prakash)
Posted on:
Attached files:

Rate this post
0 useful
not useful
Hello,

I've never done a USB Host interface before, now I am trying to 
enumerate USB Host using NXP's USBHostLite example using LPC1768 
controller.

It stuck at  "while (!HOST_RhscIntr);"

I got a short serial output followed by flashing

----------------------------
Initializing Host Stack
Host Initialized
Connect a Mass Storage device
-----------------------------

Can anybody tell me why

"LPC_USB->OTGStCtrl = 0x3;" statement is using. And if I use 
"LPC_USB->OTGStCtrl = 0x203;" this statement then serial output is 
followed as

------------------------------------
Initializing Host Stack
Host Initialized
Connect a Mass Storage device
ERROR: In Host_EnumDev at Line 358 - rc = -1
---------------------------------------------

The line (Line 358 in usbhost_lpc17xx.c) is this block of code:

rc = HOST_GET_DESCRIPTOR(USB_DESCRIPTOR_TYPE_DEVICE, 0, TDBuffer, 8);
if (rc != OK) {
PRINT_Err(rc);
return (rc);
}

Could it be an issue with my USB drive or hardware?

The schematic for usb host I have attached.

Many thanks in advance,

-Prakash
9886545216

Author: Prakash Rajolli (Company: Coinel Technology Solutions) (prakash)
Posted on:

Rate this post
0 useful
not useful
I have ensured that PORT_FUNC in OTGStCtrl register is 0x3, PWRD, PPWR, 
POVRCR, USB-D+ and USB-D-  are set correctly for USB host in PINSELx.

Observations are as follow,

1. It stuck at "while (!HOST_RhscIntr) ;" and If I not initialize UART, 
then get rc = -1 at
------------ --------- --------- --------- --------- --------- --------- 
---
    rc = HOST_GET_DESCRIPTOR (USB_DESCRIPTOR_ TYPE_DEVICE, 0, TDBuffer, 
8);
    if (rc != OK) {
        PRINT_Err(rc) ;
        return (rc);
    }
------------ --------- --------- --------- --------- ----

because HOST_TDControlStatu s = 5.

2. Before setting of  global power bit in OHCI RHStatus,
HcRhStatus = OR_RH_STATUS_ LPSC; /* Set Global Power */
voltage at PWRD pin is 4.68v and after setting of  global power
PWRD = 0.8V
is it correct?

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.