Difference between Class Function Driver and Class Driver?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Difference between Class Function Driver and Class Driver?

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Martin84 on Thu Oct 24 08:41:28 MST 2013
Hi,

can somebody please tell me what's the difference between the class function drivers and the class drivers in the LPCUSBLib?

On the lowlevel.eu/wiki, they split USB-Devices into HUBs and functions, is it right? Does that mean, the function class drivers are used for µC in USB-Device-Mode and the Class Drivers are used for µC in USB-Host-Mode?

Regards,

Martin
Labels (1)
0 Kudos
2 Replies

631 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Martin84 on Fri Oct 25 01:25:24 MST 2013
Hi Tsuneo,

thanks for your reply :-) I have found that the LPC Microcontrollers have some USB Drivers implemented in boot-ROM. And after reading the LPCUSBLib docu I think that the USB Class function drivers are these boot-ROM-Drivers. And the other USB Class drivers can be implemented manually by programmer if the USB API isn't supported by the microcontroller. But I don't know if I'm right ?

So, regarding to your answer: there are some drivers (class function drivers) for device implementation in boot-ROM which can be used with USB API. These drivers also can be implemented manually. And the class drivers which support both, device and host mode, can only be implemented manually.

Is it correct?

Sorry for the "trivial" question, but I'm new in USB programming and I want to understand this.

Regards,

Martin
0 Kudos

631 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tsuneo on Thu Oct 24 23:20:39 MST 2013

Quote:
can somebody please tell me what's the difference between the class function drivers and the class drivers in the LPCUSBLib?


The terminology of USB drivers are confusing.
But at least "function" means device (not host) in USB practice.

On global search of "class function" words in lpcopen_v1.03 folder, it appears just on usbd_xxx.h files. Therefore, "class function" is correctly used for device implementations.

On the other hand, "class driver" appears both of device and host implementation.

Tsuneo
0 Kudos