Linux»·¾³ÏÂUSBµÄÔÀí¡¢Çý¶¯ºÍÅäÖÃ
ʲôÊÇUSB£¿
USBÊÇÓ¢ÎÄUniversal Serial BusµÄËõд£¬ÒâΪͨÓô®ÐÐ×ÜÏß¡£USB×î³õÊÇΪÁËÌæ´úÐí¶à²»Í¬µÄµÍËÙ×ÜÏߣ¨°üÀ¨²¢ÐС¢´®ÐкͼüÅÌÁ¬½Ó£©¶øÉè¼ÆµÄ£¬ËüÒÔµ¥Ò»ÀàÐ͵Ä×ÜÏßÁ¬½Ó¸÷ÖÖ²»Í¬µÄÀàÐ͵ÄÉ豸¡£USBµÄ·¢Õ¹ÒѾ³¬Ô½ÁËÕâЩµÍËÙµÄÁ¬½Ó·½Ê½£¬ËüÏÖÔÚ¿ÉÒÔÖ§³Ö¼¸ºõËùÓпÉÒÔÁ¬½Óµ½PCÉϵÄÉ豸¡£×îеÄUSB¹æ·¶ÐÞ¶©ÁËÀíÂÛÉϸߴï480MbpsµÄ¸ßËÙÁ¬½Ó¡£LinuxÄÚºËÖ§³ÖÁ½ÖÖÖ÷ÒªÀàÐ͵ÄUSBÇý¶¯³ÌÐò£ºËÞÖ÷ϵͳÉϵÄÇý¶¯³ÌÐòºÍÉ豸ÉϵÄÇý¶¯³ÌÐò£¬´ÓËÞÖ÷µÄ¹ÛµãÀ´¿´£¨Ò»¸öÆÕͨµÄËÞÖ÷Ò²¾ÍÊÇÒ»¸öPC»ú£©£¬ËÞÖ÷ϵͳµÄUSBÉ豸Çý¶¯³ÌÐò¿ØÖƲåÈëÆäÖеÄUSBÉ豸£¬¶øUSBÉ豸µÄÇý¶¯³ÌÐò¿ØÖƸÃÉ豸ÈçºÎ×÷Ϊһ¸öUSBÉ豸ºÍÖ÷»úͨÐÅ¡£
USBµÄ¾ßÌå¹¹³É
ÔÚ¶¯ÊÖдUSBÇý¶¯³ÌÐòÕâÇ°£¬ÈÃÎÒÃÇÏÈ¿´¿´Ð´µÄUSBÇý¶¯³ÌÐòÔÚÄÚºËÖеĽṹ£¬ÈçÏÂͼ£º
USBÇý¶¯³ÌÐò´æÔÚÓÚ²»Í¬µÄÄÚºË×ÓϵͳºÍUSBÓ²¼þ¿ØÖÆÆ÷Ö®¼ä£¬USBºËÐÄΪUSBÇý¶¯³ÌÐòÌṩÁËÒ»¸öÓÃÓÚ·ÃÎʺͿØÖÆUSBÓ²¼þµÄ½Ó¿Ú£¬¶ø²»±Ø¿¼ÂÇϵͳµ±Ç°´æÔڵĸ÷ÖÖ²»Í¬ÀàÐ͵ÄUSBÓ²¼þ¿ØÖÆÆ÷¡£USBÊÇÒ»¸ö·Ç³£¸´ÔÓµÄÉ豸£¬linuxÄÚºËΪÎÒÃÇÌṩÁËÒ»¸ö³ÆΪUSBµÄºËÐĵÄ×ÓϵͳÀ´´¦Àí´ó²¿·ÖµÄ¸´ÔÓÐÔ£¬USBÉ豸°üÀ¨ÅäÖÃ(configuration)¡¢½Ó¿Ú£¨interface£©ºÍ¶Ëµã(endpoint)£¬USBÉ豸°ó¶¨µ½½Ó¿ÚÉÏ£¬¶ø²»ÊÇÕû¸öUSBÉ豸¡£ÈçÏÂͼËùʾ£º
USBͨÐÅ×î»ù±¾µÄÐÎʽÊÇͨ¹ý¶Ëµã£¨USB¶Ëµã·ÖÖжϡ¢ÅúÁ¿¡¢µÈʱ¡¢¿ØÖÆËÄÖÖ£¬Ã¿ÖÖÓÃ;²»Í¬£©£¬USB¶ËµãÖ»ÄÜÍùÒ»¸ö·½Ïò´«ËÍÊý¾Ý£¬´ÓÖ÷»úµ½É豸»òÕß´ÓÉ豸µ½Ö÷»ú£¬¶Ëµã¿ÉÒÔ¿´×÷Êǵ¥ÏòµÄ¹ÜµÀ£¨pipe£©¡£ËùÒÔÎÒÃÇ¿ÉÒÔÕâÑùÈÏΪ£ºÉ豸ͨ³£¾ßÓÐÒ»¸ö»òÕ߸ü¶àµÄÅäÖã¬ÅäÖþ³£¾ßÓÐÒ»¸ö»òÕ߸ü¶àµÄ½Ó¿Ú£¬½Ó¿Úͨ³£¾ßÓÐÒ»¸ö»òÕ߸ü¶àµÄÉèÖ㬽ӿÚûÓлò¾ßÓÐÒ»¸öÒÔÉϵĶ˵㡣Çý¶¯³ÌÐò°ÑÇý¶¯³ÌÐò¶ÔÏó×¢²áµ½USB×ÓϵͳÖУ¬ÉÔºóÔÙʹÓÃÖÆÔìÉ̺ÍÉ豸±êʶÀ´ÅжÏÊÇ·ñÒѾ°²×°ÁËÓ²¼þ¡£USBºËÐÄʹÓÃÒ»¸öÁÐ±í£¨ÊÇÒ»¸ö°üº¬ÖÆÔìÉÌIDºÍÉ豸ºÅIDµÄÒ»¸ö½á¹¹Ì壩À´Åж϶ÔÓÚÒ»¸öÉ豸¸ÃʹÓÃÄÄÒ»¸öÇý¶¯³ÌÐò£¬ÈȲ岦½Å±¾Ê¹ÓÃËüÀ´È·¶¨µ±Ò»¸öÌض¨µÄÉ豸²åÈ뵽ϵͳʱ¸Ã×Ô¶¯×°ÔØÄÄÒ»¸öÇý¶¯³ÌÐò¡£
ÉÏÃæÎÒÃǼòҪ˵Ã÷ÁËÇý¶¯³ÌÐòµÄ»ù±¾ÀíÂÛ£¬ÔÚдһ¸öÉ豸Çý¶¯³ÌÐò֮ǰ£¬ÎÒÃÇ»¹ÒªÁ˽âÒÔÏÂÁ½¸ö¸ÅÄģ¿éºÍÉ豸Îļþ¡£
Ä£¿é£ºÊÇÔÚÄں˿ռäÔËÐеijÌÐò£¬Êµ¼ÊÉÏÊÇÒ»ÖÖÄ¿±ê¶ÔÏóÎļþ£¬Ã»ÓÐÁ´½Ó£¬²»ÄܶÀÁ¢ÔËÐУ¬µ«ÊÇ¿ÉÒÔ×°Ôص½ÏµÍ³ÖÐ×÷ΪÄں˵ÄÒ»²¿·ÖÔËÐУ¬´Ó¶ø¿ÉÒÔ¶¯Ì¬À©³äÄں˵ŦÄÜ¡£Ä£¿é×îÖ÷ÒªµÄÓô¦¾ÍÊÇÓÃÀ´ÊµÏÖÉ豸Çý¶¯³ÌÐò¡£Linux϶ÔÓÚÒ»¸öÓ²¼þµÄÇý¶¯£¬¿ÉÒÔÓÐÁ½ÖÖ·½Ê½£ºÖ±½Ó¼ÓÔص½Äں˴úÂëÖУ¬Æô¶¯Ä
Ïà¹ØÎĵµ£º
Ê×Ïȼòµ¥µÄ½éÉÜÁ½Õߣº
¡¾linux²Ù×÷ϵͳ£º¼ò³ÆÃüÁ²Ù×÷ϵͳ¡¿
¼ò½é£º
¼òµ¥µØ˵£¬LinuxÊÇÒ»Ì×Ãâ·ÑʹÓúÍ×ÔÓÉ´«²¥µÄÀàUnix²Ù×÷ϵͳ£¬ËüÖ÷ÒªÓÃÓÚ»ùÓÚx86ϵÁÐCPUµÄ¼ÆËã»úÉÏ¡£Õâ¸öϵͳÊÇÓÉÊÀ½ç¸÷µØµÄ³ÉǧÉÏÍòµÄ³ÌÐòÔ±Éè¼ÆºÍʵÏֵġ£ÆäÄ¿µÄÊǽ¨Á¢²»ÊÜÈκÎÉÌÆ·»¯Èí¼þµÄ°æȨÖÆÔ¼µÄ¡¢È«ÊÀ½ç¶¼ÄÜ×ÔÓÉʹÓõÄUnix¼æÈݲúÆ·¡£
Ìص㣺 ......
ËäȻѧ¹ý
Linux Shell
±à³Ì£¬µ«ÓÉÓÚ±àд
Shell
½Å±¾µÄ»ú»áʵÔÚÊDZȽÏÉÙ
(
ͨ³£ÔÚÏîÄ¿³õÆڴ¿ª·¢»·¾³Ê±±àдµÃ±È½Ï
¶àһЩ
)
£¬ËùÒÔÒ»
ЩÓï·¨¾Ã¶ø¾ÃÖ®¾Í»áÍüÁË£¬Ò»¸ö¼òµ¥µÄÓ﷨ȥ·ÊéЧÂÊʵÔÚÊÇÂý£¬ËùÒԾ͸öÈËÕûÀíÁËÒ»¸ö±í¸ñ£¬ÓÉÓÚÎÒÓõıà³ÌÓïÑÔÊÇ
C/C++
£¬ËùÒÔÔÚ±à³ÌµÄʱºòÍùÍùÄÔº£ÀïÃæÊ×
Ïȸ¡ÏÖµÄÊÇÓÃ
C
......
Linux Input Device ½é紹: APIs
jollen 發±íì¶ April 8, 2009 12:18 PM
Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹Ç°£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£
Linux Input Device
input.cÊÇLinuxµÄ”input”驅動³Ìʽ£¬Ö÷ÒªÖ ......
o: ±àÒëµÄÄ¿±êÎļþ
a: ¾²Ì¬¿â£¬Æäʵ¾ÍÊÇ°ÑÈô¸ÉoÎļþ´òÁ˸ö°ü
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©
lo: ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚoÎļþÖÐÌí¼ÓÁËһЩÐÅÏ¢
la: ʹÓÃlibtool±àÒë³öµÄ¿âÎļþ£¬ÆäʵÊǸöÎı¾Îļþ£¬¼Ç¼ͬÃû¶¯Ì¬¿âºÍ¾²Ì¬¿âµÄÏà¹ØÐÅÏ¢
1 libtoolµÄ¹¤×÷ÔÀí
libtool ÊÇÒ»¸öͨÓÿâÖ§³Ö½Å±¾£¬½«Ê¹Óà ......
Ôø×ö¹ýsignalÏà¹ØµÄÒ»µã¶ù¿ª·¢£¬Ì¸Ì¸ÎÒµÄһЩÀí½â¡£
Ê×ÏÈ£¬ÐèÒªÀí½â¼¸¸ösignalÏà¹ØµÄº¯Êý¡£
sigaddset(sigset_t* sigSet, int sigNum ) : ½«ÐźÅsigNum Ìí¼Óµ½Ðźż¯ sigSet ÖУ»
sigdelset(sigset_t* sigSet, int sigNum) : ½«ÐźŠsigNum ´ÓÐźż¯ sigSet ÖÐɾ³ý£»
......