Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

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):×¢²á ......

linuxÃüÁî


NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
1
ÏÔʾĿ¼ÐÅÏ¢
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸÐÅÏ¢
#
ls
ls -a
ÏÔʾËùÓÐÎļþ£¬°üº¬Òþ²Ø¡£
#
ls
ls -al
ÏÔʾËùÓÐÎļþµÄÏêϸÐÅÏ¢¡£
2
²é¿´Â·¾¶
#
pwd
pwd
²é¿´µ±Ç°ËùÔÚĿ¼µÄ¾ø¶Ô·¾­
3
Ŀ¼Çл»
#
cd
cd ..
»Øµ±Ç°Ä¿Â¼µÄÉÏÒ»¼¶Ä¿Â¼
#
cd
cd -
»ØÉÏÒ»´ÎËùÔÚµÄĿ¼
#
cd
cd -p aa/bb/cc
Ö±½Ó´´½¨¶à¼¶×ÓĿ¼
#
cd
cd ~ »ò cd
»Øµ±Ç°Óû§µÄËÞÖ÷Ŀ¼
#
cd
cd ~Óû§Ãû
»ØÖ¸¶¨Óû§µÄËÞÖ÷Ŀ¼
4
´´½¨Ä¿Â¼
#
mkdir
mkdir Ŀ¼Ãû
´´½¨Ò»¸öĿ¼
#
mkdir
mkdir –p
µÝ¹éʽȥ´´½¨Ò»Ð©Ç¶Ì×Ŀ¼
#
rmdir
Rmdir ¿ÕĿ¼Ãû
ɾ³ýÒ»¸ö¿ÕĿ¼
5
´´½¨Îļþ
#
touch
touch 1.txt
´´½¨Îļþ1.txt
6
ɾ³ý²Ù×÷
#
rm
rm ÎļþÃû ÎļþÃû
ɾ³ýÒ»¸öÎļþ»ò¶à¸öÎļþ
#
rm
rm -rf ·Ç¿ÕĿ¼Ãû
µÝ¹éɾ³ýÒ»¸ö·Ç¿ÕĿ¼ÏµÄÒ»ÇУ¬¼Ó-f²»Ìáʾ
7
²é¿´Îļþ
#
cat
cat ÎļþÃû
Ò»ÆÁ²é¿´ÎļþÄÚÈÝ
#
cat
cat ·¾¶/ÎļþÃû |grep ×Ö·û´®
ÔÚÎļþÖÐÆ¥Åä“×Ö·û´®”
#
more
more ÎļþÃû
·ÖÒ³²é¿´Îļþ ......

LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(2)


 
LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(2)
 
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2009.03.14 16:44¡¡(¹²ÓÐÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
 
ºÃ~ ÏÖÔÚÍòʾ㱸,ֻǷuhciÓ²¼þµÄ×¢²áÁË
ÏÖÔÚ̸һÏÂuhciÓ²¼þµÄ×é³É,uhciµÄÓ²¼þ·ÖΪÁ½¸ö´óµÄ²¿·Ö,Ö÷»ú¿ØÖÆÆ÷ºÍ¸ù¼¯Ï߯÷,ÈçÏÂͼ
µ±Ìá½»uhciÓ²¼þµÄ×¢²áµ½pci×ÜÏߺó,¾­¹ýÒ»ÂÖÆ¥Åä,ÖÕÓÚÕÒµ½ÁËuhci,½øÈëµ½uhci_pci_driver->probeÕâ¸öº¯ÊýÏÂ
usb_hcd_pci_probeÔÚ/drivers/usb/host/uhci-hcd.cÖÐ
int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
struct hc_driver *driver;
struct usb_hcd *hcd;
int retval;
//ÅжÏÄں˲ÎÊýÊÇ·ñÆôÓÃUSB
if (usb_disabled())
  return -ENODEV;
//ÅÐ¶ÏÆ¥Åä±íÊÇ·ñ´æÔÚ,¸Ã±íΪuhci_pci_driver->id_tableÖеÄÄÚÈÝ
if (!id)
  return -EINVAL;
//È¡µÃÆ¥Åä±íÖеÄ˽Óнṹ,Ϊuhci_driver
driver = (struct hc_driver *)id->driver_data;
//˽Óнṹ²»´æÔÚÔò·µ»Ø´íÎó
if (!driver)
  return -EINVAL;
//ʹÄÜpciÉ豸
if (pci_enable_device(dev)  0)
  return -ENODEV;
//ÉèÖõçԴΪÕý³£×´Ì¬
d ......

LINUXÏÂUSB1.1É豸ѧϰС¼Ç(2)_ЭÒé


LINUXÏÂUSB1.1É豸ѧϰС¼Ç(2)_ЭÒé
 
 
USBЭÒé:
ÏÈ¿´USB½Ó¿Ú
¿ÉÒÔ¿´³ö,ÔÚUSBʹÓÃÁË4¸ùÏß,·Ö±ðΪµçÔ´Ïß,µØÏß,ÐźÅÏߺͲî·ÖÐźÅÏß
²î·ÖÐźÅÏßÓÃÓÚ¼ì²âÐźÅÏߵĴ«ÊäÊÇ·ñÕýÈ·
ÏÂÃæÎÒÃÇÖ»¹Ø×¢ÐźÅÏß
È»ºóÊÇUSBµÄ´®¿Ú´«Êä
ÔÚ´®¿Ú´«ÊäÖÐ,ÓÉÓÚËùÓеÄÐźŹ²ÓÃÒ»¸ùÊý¾ÝÏß,ËùÒÔ²»½öÓÐÏÈÀ´ºóµ½µÄÎÊÌâ,¶øÇÒÔÚÒ»¸öÉ豸ºÍÁíÒ»¸öÉ豸½øÐÐͨÐŵÄʱºò,Èç¹û±ðµÄÉ豸Ҳ½øÀ´²åÒ»½Å,¾Í»áµ¼ÖÂÐźŵijö´í,ËùÒÔÕâ¸öʱºòÐèÒªÒ»¸ö¹ÜÀíÕß,Ëû˵ºÃ,AÉ豸ºÍÎÒͨÐÅ,AÉ豸²ÅºÍ¹ÜÀíÕßͨÐÅ,ͨÐÅÍê³Éºó,¹ÜÀíÕß˵ÏÖÔÚµ½BÉ豸ºÍÎÒͨÐÅ,AÉ豸ÄãЪһЪ,ÓÚÊÇBÉ豸²ÅÄܺ͹ÜÀíÕßͨÐÅ
ÔÚUSBЭÒéÖÐ,Õâ¸ö¹ÜÀíÕß³ÆÎªhost,ÔÚÒ»¸öusb×é³ÉµÄÀ¨ÆËÖÐÖ»ÄÜ´æÔÚÒ»¸ö¹ÜÀíÕß,Ò²¾ÍÊÇÒ»¸öhost
Èκδ«Êä¶¼ÊÇÓÉhost·¢ÆðµÄ,É豸²»ÄÜ˵hostÄã×¢ÒâÁË,ÎÒÒªºÍÄãͨÐÅÕâÑù
ËùÒÔhostÊÇÒ»¸öÊ®·Ö°ÔµÀµÄ¹ÜÀíÕß = 3=
ÄØhostÓÖÈçºÎ·¢ÆðÓÚÆäËüÉ豸µÄͨÐÅÄØ?
ÏÖÔÚ½éÉÜÒ»ÏÂͨÐŹ淶
ÔÚUSBµÄͨÐÅÖÐ,·ÖΪ4¸ö´óÀà
1. ¿ØÖÆ´«Êä
¿ØÖÆ´«ÊäÓÃÓÚ¶ÔÉ豸µÄ¿ØÖÆ·ÃÎÊ
2.Öжϴ«Êä
Öжϴ«ÊäÓÃÓÚ°´Ò»¶¨µÄʱ¼ä¼ä¸ô·ÃÎÊÉ豸(ÀýÈçÊó±ê ¼üÅ̵È)
3.µÈʱ´«Êä
µÈʱ´«ÊäÓÃÓÚ¸ßÁ÷Á¿µÄÎÞ¼ä¸ô·ÃÎÊÉ豸(ÊÓÆµ ÒôƵµÈ)
4.¿é´«Êä
¿é´«ÊäÓÃÓÚ¶ÔÁ÷Á¿µÄ ......

LINUXÏÂUSB1.1É豸ѧϰС¼Ç

ǰ¶Îʱ¼ä°Ý¶Áfudan_abcµÄÎÄÕºó¸ù¾Ý×Ô¼ºµÄÀí½âдµÄһЩ·ÖÎö
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1855876][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(1) [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1856447][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(2)_ЭÒé [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1857994][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(3)_hostÓëdevice [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1863168][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(1) [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1863179][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(2) [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id=1863192][color=#02368d][size=10pt]LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(3) [/size][/color]
[url=http://blog.chinaunix.net/u1/57901/showart.php?id ......

LINUXÏÂUSB1.1É豸ѧϰС¼Ç(1)


ÏÖÔÚÔݶ¨µÄѧϰĿ±êΪһ¸öUSBÊó±êµÄÉ豸µ½Ö÷»úµÄ´«Êä¹ý³ÌÈí¼þÉϵĹᴩ(»áÉæ¼°µ½²¿·ÖÓ²¼þ µ«ÊDZ¾È˵ĵçµç·֪ʶÓÐÏÞ Éæ¼°µÄÁ¿²»»á¶à)
 
ѧϰµÄ¿ò¼ÜÈçÏÂ:
1.     USB1.1ЭÒé
  A.    ¿ØÖÆ´«Êä
  B.     Öжϴ«Êä
2.     USBÖ÷»ú
  A.    LINUXϵÄUHCI
3.     USBÉ豸
  A.·ÉÀûÆÖµÄPDIUSBD12
4.     HIDЭÒé
  A.Êó±ê²¿·Ö
5.     USBÖ÷»úµÄHIDÇý¶¯³ÌÐò
  A.Êó±ê²¿·Ö
6.     LINUXµÄINPUT×Óϵͳ
  A.Êó±ê²¿·Ö
 
 
ÔÚÕâÀï¼ò¶Ì˵һÏÂΪʲô»áÓÐUSBЭÒéµÄµ®Éú~
Ò»·½Ãæ,ÔÚµçÄÔÉÏ¿ÉÒÔ¿´¶àºÜ¶àµÄ²å¿Ú,ÀýÈçPS/2,Íø¿Ú,VGA,DVI,²¢¿Ú,´òÓ¡»ú²¢¿Ú
USBÉ豸Ö÷ҪΪÁËͳºÏÕâЩÈÕÒæÔö¶àµÄ²å¿Ú¶øµ®ÉúµÄ
ÁíÒ»·½Ãæ,²¢¿ÚµÄ´«ÊäËæ×żÆËã»úÊý¾ÝÁ÷Á¿µÄ·¢Õ¹¶øÏÔµÃÁ¦²»´ÓÐÄ,²¢¿Ú,·ºÖ¸Ê¹ÓÃÈô¸É¸öÊý¾Ýλ½øÐд«ÊäµÄÉ豸,ÔÚ¼ÆËã»úÖÐÐźŵĴ«ÊäÖ»ÓÐ1ºÍ0Á½ÖÖÐźÅ,ÄØÃ´Ò»´Î´«ÊäÊý¾ÝµÄ´óСºÍÊý¾ÝλµÄ¹ØÏµ¾ÍÊÇ2x ¸öbit,µ±ÓÐ3¸öÊý¾ÝλµÄʱºò¾ÍÊ ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [160] [161] [162] [163] 164 [165] [166] [167] [168] [169]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ