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

understanding linux usb ehci device driver£¨2£©

understanding linux usb ehci device driver£¨2£©
understanding linux usb ehci device driver(2)
lm_tom@163.com
2. linux ehci device driver(ehci hcd)
2.1. linux usb subsystem arch overview(host)
2.2. ehci_hcd
2.3. ehci ʵÏֵĽӿÚ
2.3.1. ehci_pci_setup() (hc_driver->reset)
2.3.2. ehci_run() (hc_driver->start)
2.3.3. ehci_stop() (hc_driver->stop)
2.3.4. ehci_get_frame()(hc_driver-> get_frame_number)
2.3.5. ehci_urb_enqueue()(hc_driver->urb_enqueue)*
2.3.6. ehci_urb_dequeue()(hc_driver->urb_dequeue)
2.3.7. ehci_endpoint_disable()(hc_driver-> endpoint_disable)
2.3.8. ehci_irq()(hc_driver->irq)*
2.3.9. ehci_hub_control()(hc_driver->hub_control)
2.3.10. ehci_hub_status_data(hc_driver->hub_status_data)


1.   linux ehci device driver(ehci hcd)
1.1.linux usb subsystem arch overview(host)
            
Fig 2-1 linux usb subsystem block diagram
Fig 2-1ÖÐ, ÂÌÉ«Ïß´ú±íµ÷ÓùØÏµ,ÂÌÏ߯ðµã(·Ç¼ýÍ·)Á¬½Ó·þÎñÌṩÕß,ÂÌÏßÖÕµã(¼ýÍ·)Ö¸Ïòµ÷Ó÷½; ºìÉ«Ïß´ú±íʵÏÖ¹ØÏµ,
ºìÏßÖÕµã(¼ýÍ·)Ö¸Ïò½Ó¿Ú¶¨ÒåÕß,ºìÏ߯ðµã(·Ç¼ýÍ·)Á¬½Ó½Ó¿ÚʵÏÖ·½.

Usb Interface driver Ö¸²Ù×÷usb functionµÄÇý¶¯,¸ºÔðʵÏÖfunction²ãµÄЭÒé(mass-storage,
usb video class,HID…),±ÈÈçusb-storage/uvc/hidµÈÄ£¿é,Ò»°ãÿ¸ö(Àà)InterfaceʹÓÃÒ»ÖÖÇý¶¯.
Óû§¿É×Ô¼º¿ª·¢Ò»Ð©±ê×¼classµÄÇý¶¯»òÕßһЩ·Ç±ê×¼µÄfunctionÇý¶¯,ϵͳÖÐÖ§³ÖfunctionµÄÊýÄ¿ÓÉusb 2.0
specÈ·¶¨,Ò»°ãÀ´Ëµ²»Í¬(Àà)µÄfunction¾ùÓÐÒ»¸ö¶ÔÓ¦µÄUsb Interface driver, usb
subsystem¿ÉÒÔͬʱ֧³Ö¶à¸öusb Interface driver(usb function)µÄÔËÐÐ. Ò»°ãÀ´Ëµ£¬¸Ã²ã±È½Ï±¡,
classµÄЭÒé¶¼²»ÊǺܸ´ÔÓ.

Linux usbcoreÄ£¿éÊǶÔÕû¸ölinux usb subsytemµÄ³éÏó, ÔÚÕû¸ösubsystemÖÐÆð×ųÐÉÏÆôϵÄ×÷ÓÃ, ʵÏÖusb
2.0²¿·ÖЭÒé. ÌṩÁË´óÁ¿µÄAPI¹©Íⲿģ¿éµ÷ÓÃ, ÕâЩAPI ¶ÔÓ¦linux usbcore
moduleÖÐͨ¹ýEXPORT_SYMBOL()µ¼³öµÄº¯ÊýºÍ±äÁ¿; ͬʱ,linux usbcore Ò²¶¨ÒåÁ˽ӿÚÀàÐÍ, ÕâЩ½Ó¿ÚÐèÒªusb
interface driverÒÔ¼°usb host controller driverÀ´ÊµÏÖ. usbcoreÄ£¿éÒ»°ã²»ÐèÒªÓû§¸Ä¶¯.
¸Ã²ã±È½Ïºñ,ÄÚÈݽÏΪ·á¸».

Linux usb host


Ïà¹ØÎĵµ£º

ÔÚlinuxÏÂʵÏÖweb qqµÄ×ÀÃæ»¯


´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ­°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......

UNIX ÓëLinuxµÄ±È½Ï

    UNIXÊÇÀúÊ·×îÓÆ¾ÃµÄͨÓòÙ×÷ϵͳ¡£1969Ä꣬ÃÀ¹ú±´¶ûʵÑéÊÒµÄK.ThompsonºÍD.M.RitchieÔÚ¹æÄ£½ÏС¼°½Ï¼òµ¥µÄ·Öʱ²Ù×÷ϵͳMULTICSµÄ»ù´¡ÉÏ¿ª·¢³öUNIX, µ±Ê±ÊÇÔÚDECµÄPDP—7СÐͼÆËã»úÉÏʵÏֵģ¬1970ÄêÕýʽͶÈëÔËÐС£´ËºóÊýÄ꣬UNIXÒ»Ö±ÊÇÒ»¸öÏÞÓÚÔÚAT&TÄÚ²¿Ê¹ÓõIJÙ×÷ϵͳ¡£1971Ä꣬·¢Õ¹³öÒÔ PDP- ......

linux ³£ÓÃÃüÁîÕûÀí

tar ÎļþÓëĿ¼ѹËõÃüÁî
tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊÇ·ñͬʱ¾ßÓÐ gzip µÄ ......

Linuxϵͳµ÷Óà sigactionº¯ÊýÏê½â(Ò»)

¹¦ÄÜÃèÊö£º 
´¦ÀíÐźš£¼È¿ÉÓÃÓÚÉ趨¶ÔÈÎÒâÐźŵĴ¦Àí·½Ê½£¬Ò²¿ÉÓÃÓÚ¼ìÑé¸ÃÐźŵÄĿǰԤÉè´¦Ö÷½Ê½¡£
 
  
Ó÷¨£º 
#include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
       
 &n ......

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®

ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º 
£¨1£©ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔ­Àí£¨³õ²½¶¨Îªarm9£© 
£¨2£©±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ£¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£© 
£¨3£©±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ»¸öǶÈëʽÈí¼þÏîÄ¿¡£ 
´ÓÊÂǶÈëʽÈí¼þ¿ª·¢µÄºÃ´¦ÊÇ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ