Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÉ豸Çý¶¯Ö®USB hubÇý¶¯


------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:ǰÑÔ
¼ÌUHCIµÄÇý¶¯Ö®ºó,ÎÒÃǶÔUSB ControlµÄÔË×÷ÓÐÁËÒ»¶¨µÄÁ˽â.ÔÚ½ÓÏÂÀ´µÄ·ÖÎöÖÐ,ÎÒÃǶÔUSBÉ豸µÄÇý¶¯×öÒ»¸öÈ«ÃæµÄ·ÖÎö,ÎÒÃÇÏÈ´ÓHUBµÄÇý¶¯ËµÆð.¹ØÓÚHUB,usb2.0 specÉÏÓÐÏêϸµÄ¶¨Òå,»ùÓÚÕⲿ·ÝµÄ´úÂëλÓÚlinux-2.6.25/drivers/usb/coreÏÂ,Ò²¾ÍÊÇ˵,Õⲿ·Ý´úÂëÊÇλÓÚcoreÏÂ,ºÍ¾ßÌåÉ豸ÊÇÎ޹صÄ,ÒòΪ¸÷³§É̵Ähub¶¼Êǰ´ÕÕspecµÄÒªÇóÀ´Éè¼ÆµÄ.
¶þ:UHCIÇý¶¯ÖеÄroot hub
¼ÇµÃÔÚ·ÖÎöUHCIÇý¶¯µÄʱºò,ÔøÏêϸ·ÖÎö¹ýroot hubµÄ³õʼ»¯²Ù×÷.ΪÁË·ÖÎö·½±ã,½«´úÂëÆ¬¶ÎÁгöÈçÏÂ:
usb_add_hcd() à usb_alloc_dev():
struct usb_device *usb_alloc_dev(struct usb_device *parent,
               struct usb_bus *bus, unsigned port1)
{
    ……
    ……
    //usb_device,ÄÚǶÓÐstruct device½á¹¹,¶ÔÕâ¸ö½á¹¹½øÐгõʼ»¯
    device_initialize(&dev->dev);
    dev->dev.bus = &usb_bus_type;
    dev->dev.type = &usb_device_type;
    ……
    ……
}
Ò»¿´µ½Ç°Ãæ¶ÔdevµÄ¸³Öµ,¸ù¾ÝÎÒÃǶÔÉ豸ģÐ͵ÄÀí½â,Ò»µ©Õâ¸ödevice½øÐÐ×¢²á,¾Í»á·¢ÉúdriverºÍdeviceµÄÆ¥Åä¹ý³ÌÁË.
²»¹ý,ÏÖÔÚ»¹²»ÊÇ·ÖÎöÕâ¸ö¹ý³ÌµÄʱºò,ÎÒÃÇÏÈÀ´¿´Ò»ÏÂ,USB×ÓϵͳÖеÄÁ½ÖÖÇý¶¯.
 
Èý:USB×ÓϵͳÖеÄÁ½ÖÖÇý¶¯
linux-2.6.25/drivers/usb/core/driver.cÖÐ,ÎÒÃÇ¿ÉÒÔÕÒµ½Á½ÖÖregister driverµÄ·½Ê½,·Ö±ðΪusb_register_driver()ºÍusb_register_device_driver().·Ö±ðÀ´·ÖÎöÒ»ÏÂÕâÁ½¸ö½Ó¿Ú.
 
usb_register_device_driver()½Ó¿ÚµÄ´úÂëÈçÏÂ:
int usb_register_device_driver(struct usb_device_driver *new_udriver,
        struct module *owner)
{
    int retval = 0;
 
    if (usb_disabled())
        return -ENODEV;
 
    new_udriver->drvwrap.for_d


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

ÔÚLinuxϰ²×°Oracle Database 9i

ÔÚLinuxϰ²×°Oracle Database 9i
2009Äê05ÔÂ11ÈÕ ÐÇÆÚÒ» 20:49
http://www0.ccidnet.com/tech/guide/2001/11/20/58_3761.html
Oracle9i 2000Äê10ÔÂÔÚOracle Open WorldÉÏ·¢²¼£¬Îª Oracle Êý¾Ý¿â¡¢Ó¦Ó÷þÎñÆ÷ºÍ¿ª·¢¹¤¾ßÒý½øÁËÐí¶àй¦ÄÜ¡£Oracle9iÊÇÒµ½çµÚÒ»¸öÍêÕû¡¢¼òµ¥µÄÓÃÓÚ»¥ÁªÍøµÄÐÂÒ»´úÖÇÄÜ»¯µÄ¡¢Ð­×÷¸÷ÖÖÓ¦ÓõÄÈí ......

Linux»·¾³Ï¸÷¸öä¯ÀÀÆ÷µÄ±È½Ï

Linux»·¾³Ï¸÷¸öä¯ÀÀÆ÷µÄ±È½Ï
2009Äê05ÔÂ11ÈÕ ÐÇÆÚÒ» 09:46
kingliyouдµÀ "Èç¹ûÄ㻹ÊÇÒ»¸öLinuxµÄ²ËÄñ£¬ÄÇôÄãÊ×ÏÈ»á¶ÔËü¼¯³ÉµÄÍøÒ³ä¯ÀÀÆ÷ÓÐÐËȤ¶ø²»ÊÇÄÇЩÎÄ×ֱ༭Æ÷£¬¿ª·¢ÓÃIDEµÈ¡£ÄÇô³ýÁ˶úÊìÄÜÏêµÄFirefoxÍâÄ㻹¶ÔÏÂÃæÄÇÒ»¿î¸ÐÐËÈ¤ÄØ£¿
Konqueror:KDE×ÀÃæ»·¾³ÏÂÖøÃûµÄ"°ëºì²»ºÚ"µÄä¯ÀÀÆ÷£»ËüÎȶ¨£¬Ëü¼ò½à£¬Ëü×°ÔØÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ