Linux USB Host ControllerµÄ³õʼ»¯´úÂë¿ò¼Ü·ÖÎö
usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)
ÔÚÄ£¿é³õʼ»¯Ê±±»platform_driver_register()µ÷Óã¬ÓÃÀ´³õʼ»¯Óëohci_hcd_omap_driver
ÏàÆ¥ÅäµÄusbÖ÷¿ØÖÆÆ÷.
->usb_create_hcd(driver); ´´½¨Ò»¸ö´ú±íhost-controllerµÄÊý¾Ý½á¹¹(struct usb_hcd)²¢³õʼ»¯ core/hcd.h
->hcd = kzalloc(sizeof(*hcd) + driver->hcd_priv_size, GFP_KERNEL); Ϊstruct usb_hcd·ÖÅäÒ»¿éÄÚ´æ
->usb_bus_init (struct usb_bus *bus); (hcd.c) ³õʼ»¯´ú±íusb busµÄÊý¾Ý½á¹¹(struct usb_bus)
->³õʼ»¯struct usb_hcdµÄ¶¨Ê±Æ÷£¬¹¤×÷¶ÓÁÐ
->Ìî³ästruct usb_hcdµÄrsrc_start×ֶΣºhost-controller memory/ioµÄÆðʼÎïÀíµØÖ·
rsrc_len×ֶΣºhost-controller memory/ioµÄ³¤¶È
regs×ֶΣºhost-controller memory/ioÓ³ÉäµÄÄÚºËÐéÄâµØÖ·¡£
->ohci_hcd_init(struct ohci_hcd *ohci); (dev/ohci/ohci-mem.c)
->usb_add_hcd(struct usb_hcd *hcd,unsigned int irqnum, unsigned long irqflags) (/core/hcd.h)
Íê³Éstruct usb_hcdÊ£ÓàµÄ³õʼ»¯¹¤×÷
->hcd_buffer_create(hcd):´´½¨dmapool
->usb_register_bus(usb_bus):×¢²áusb bus
->usb_alloc_dev(NULL, &hcd->self, 0): (core/usb.c)
´¦ÀíÖ÷¿ØÖÆÆ÷hcdÉϵĸùHub(hcd->self.root_hub),ÕâÀï×öµÄ¾ÍÊÇΪRoot HubÉêÇëÁËÒ»¸östruct usb_device½á¹¹Ìå,²¢ÇÒ³õʼ»¯, ½«·µ»ØÖµ¸³¸øÖ¸Õërhdev. Root HubµÄparentÖ¸ÕëÖ¸ÏòÁËController±¾Éí.
->ohci_omap_init£ºÍê³ÉomapÓ²¼þµÄinit¹¤×÷
->otg_get_transceiver();
->otg_set_host(ohci->transceiver, &ohci_to_hcd(ohci)->self);
Õë¶ÔOTGÌØÐÔ½øÐеijõʼ»¯£¬ºóÃæ·ÖÎö
->ohci_init(struct ohci_hcd *ohci); (host/ohci-hcd.c)
->Ϊohci->hcca·ÖÅä¿Õ¼ä
->ohci_mem_init() ´´½¨ohci->td_cacheºÍohci->ed_cacheµÄdma_pool
->request_irq(irqnum, &usb_hcd_irq, irqflags,hcd->irq_descr, hcd)
×¢²áÖжϴ¦Àíº¯Êý.ÆäÖÐÖжϺÅÊÇirqnum, ÖжϷþÎñ³ÌÐòÊÇusb_hcd_irq(struct usb_hcd *hcd) (ohci-hcd.c).
¸ù¾Ýusb2.0 spec¶¨ÒåµÄÖжÏÀàÐÍÓÐ:usb_hcd_irq()¸ù¾Ý¾ßÌåÀàÐÍÖ´ÐÐÏàÓ¦²Ù×÷,ºóÃæ·ÖÎö.
#define OHCI_INTR_SO (1 << 0) /* scheduling overrun */
#define OHCI_INTR_WDH (1 << 1) /* writeback of done_head */
#
Ïà¹ØÎĵµ£º
linuxÍøÂçÁ¬½ÓÅäÖÃͨ¹ýÃüÁîifconfigÀ´Íê³É£¬Ò²¾ÍÊÇinterface configuration¡£
£¡£¡ÓÑÇéÌáÐÑ£ºÏÂÃæÓõÄÃüÁîÓÐЩÐèÒªrootȨÏÞ
²é¿´ÍøÂçÁ¬½Ó
ifconfig
eth0 Link encap:ÒÔÌ«Íø Ó²¼þµØÖ· 00:e0:61:02:af:ba
&n ......
2007 Äê 4 ÔÂ 17 ÈÕ
Linux® ϵͳµ÷Óà ——
ÎÒÃÇÿÌì¶¼ÔÚʹÓÃËüÃÇ¡£²»¹ýÄúÇå³þϵͳµ÷ÓÃÊÇÈçºÎÔÚÓû§¿Õ¼äºÍÄÚºËÖ®¼äÖ´ÐеÄÂ𣿱¾ÎĽ«Ì½¾¿ Linux
ϵͳµ÷Óýӿڣ¨SCI£©£¬Ñ§Ï°ÈçºÎÌí¼ÓеÄϵͳµ÷Óã¨ÒÔ¼°ÊµÏÖÕâÖÖ¹¦ÄܵįäËû·½·¨£©£¬²¢½éÉÜÓë SCI ÓйصÄһЩ¹¤¾ß¡£
ϵͳµ÷ÓÃ
¾ÍÊÇÓû§¿Õ¼ä ......
linuxµÄmount£¨¹ÒÔØ£©ÃüÁîÏê½â
À´Ô´£º»¥ÁªÍø ×÷ÕߣºØýÃû ʱ¼ä£º09-08 17:02:27
µãÆÀ£ºlinuxϹÒÔØ£¨mount£©¹âÅ̾µÏñÎļþ¡¢Òƶ¯Ó²ÅÌ¡¢UÅÌ¡¢WindowsºÍNFSÍøÂç¹²Ïí linuxÊÇÒ»¸öÓÅÐãµÄ¿ª·ÅÔ´ÂëµÄ²Ù×÷ϵͳ£¬¿ÉÒÔÔËÐÐÔÚ´óµ½¾ÞÐÍСµ½ÕÆÉÏÐ͸÷Àà¼ÆËã»úϵͳÉÏ£¬Ëæ×Å linuxϵͳµÄÈÕ½¥³ÉÊìºÍÎȶ¨ÒÔ¼°Ëü¿ª·ÅÔ´´úÂëÌØÓеÄÓÅÔ½ÐÔ£¬li ......
ÕâÒ²ËãºÍƽͬѧµÄµãÌâ×÷ÎÄÁË£¬ºÇºÇ¡£
Ëû¶ÔÓÚLinuxϺܶàʱºò£¬apiº¯Êý´óÁ¿Ê¹ÓÃint×÷Ϊ³£ÓÃÀàÐ͸е½²»½â£¬ÎÊÎÒ£¬ÎÒÄØ£¬¾ÍÊÔׯشðһϹþ¡£
ÔÌûÔÚÕâÀhttp://student.csdn.net/space.php?uid=121080&do=thread&id=9168
ÎÊÌâÈçÏ£º
¸ù¾Ý<c++ primer>½¨Ò飬±íʾÏñ“ÈÝÁ¿”ÕâÑùµÄ±äÁ¿Ê±£¬ÒòΪ²»¿ ......