LinuxϵÄÓ²¼þÇý¶¯——USBÉ豸£¨×ª£©
from£ºhttp://www.ibm.com/developerworks/cn/linux/l-usb/index1.html
¼¶±ð£º ³õ¼¶
ÕÔÃ÷ (carl__zhao@163.com), ÁªÏëÈí¼þÉè¼ÆÖÐÐÄǶÈëʽÑз¢´¦ÏµÍ³Éè¼Æ¹¤³Ìʦ
2003 Äê 7 ÔÂ 01 ÈÕ
USBÉ豸ԽÀ´Ô½¶à£¬¶øLinuxÔÚÓ²¼þÅäÖÃÉÏÈÔȻûÓÐ×öµ½ÍêÈ«¼´²å¼´Ó㬶ÔÓÚLinuxÔõÑùÅäÖúÍʹÓÃËûÃÇ£¬Ò²Ô½À´Ô½³ÉΪÀ§ÈÅÎÒÃǵÄÒ»´óÎÊÌâ¡£±¾ÎÄ×ÅÁ¦´ÓLinuxϵͳÏÂÉ豸Çý¶¯µÄ¼Ü¹¹£¬È¥²ûÊöÔõÑùȥʹÓúÍÅäÖÃÒÔ¼°ÔõÑù±àÖÆUSBÉ豸Çý¶¯¡£¶ÔÓÚÒ»°ãÓû§£¬¿ÉÒÔʹÎÒÃÇÃ÷ÎúLinuxÉ豸Çý¶¯·½Ê½£¬Îª¸üºÃµØÅäÖúÍʹÓÃUSBÉ豸ÌṩÁË·½±ã£»¶ø¶ÔÓÚÏ£Íû¿ª·¢LinuxϵͳÏÂUSBÉ豸Çý¶¯µÄ³ÌÐòÔ±£¬ÌṩÁ˳õ²½Ñ§Ï°USBÇý¶¯¼Ü¹¹µÄ»ú»á¡£
ǰÑÔ
USBÊÇÓ¢ÎÄ"Universal Serial Bus"µÄËõд£¬ÒâΪ"ͨÓô®ÐÐ×ÜÏß"¡£ÊÇÓÉCompaq(¿µ°Ø)¡¢DEC¡¢IBM¡¢Intel¡¢NEC¡¢Î¢ÈíÒÔ¼°Northern Telecom£¨±±·½µçѶ£©µÈ¹«Ë¾ÓÚ1994Äê11Ô¹²Í¬Ìá³öµÄ£¬Ö÷ҪĿµÄ¾ÍÊÇΪÁ˽â¾ö½Ó¿Ú±ê׼̫¶àµÄ±×¶Ë¡£USBʹÓÃÒ»¸ö4Õë²åÍ·×÷Ϊ±ê×¼²åÍ·£¬²¢Í¨¹ýÕâ¸ö±ê×¼½ÓÍ·£¬²ÉÓþջ¨°êÐÎʽ°ÑËùÓÐÍâÉèÁ¬½ÓÆðÀ´£¬Ëü²ÉÓô®Ðз½Ê½´«ÊäÊý¾Ý£¬Ä¿Ç°×î´óÊý¾Ý´«ÊäÂÊΪ12Mbps, Ö§³Ö¶àÊý¾ÝÁ÷ºÍ¶à¸öÉ豸²¢ÐвÙ×÷£¬ÔÊÐíÍâÉèÈȲå°Î¡£
ĿǰUSB½Ó¿ÚËäȻֻ·¢Õ¹ÁË2´ú£¨USB1.0/1.1£¬USB2.0£©£¬µ«ÊÇUSB×ÛºÏÁËÒ»¸ö¶àƽ̨±ê×¼µÄËùÓÐÓŵã -- °üÀ¨½µµÍ³É±¾£¬Ôö¼Ó¼æÈÝÐÔ£¬¿ÉÁ¬½Ó´óÁ¿µÄÍⲿÉ豸£¬ÈÚºÏÏȽøµÄ¹¦ÄÜºÍÆ·ÖÊ¡£Ê¹ÆäÖð²½³ÉΪPC½Ó¿Ú±ê×¼£¬½øÈëÁ˸ßËÙ·¢Õ¹ÆÚ¡£
ÄÇô¶ÔÓÚʹÓÃLinuxϵͳ£¬ÕýÈ·Ö§³ÖºÍÅäÖó£¼ûµÄUSBÉ豸£¬¾ÍÊÇÆäʹÓñز»¿ÉÉٵĹؼüÒ»²½¡£
»ØÒ³Ê×
Ïà¹Ø¼¼Êõ»ù´¡
Ä£¿é£¨Çý¶¯³ÌÐò£©
Ä£¿é£¨module£©ÊÇÔÚÄں˿ռäÔËÐеijÌÐò£¬Êµ¼ÊÉÏÊÇÒ»ÖÖÄ¿±ê¶ÔÏóÎļþ£¬Ã»ÓÐÁ´½Ó£¬²»ÄܶÀÁ¢ÔËÐУ¬µ«ÊÇ¿ÉÒÔ×°ÔØµ½ÏµÍ³ÖÐ×÷ΪÄں˵ÄÒ»²¿·ÖÔËÐУ¬´Ó¶ø¿ÉÒÔ¶¯Ì¬À©³äÄں˵ŦÄÜ¡£Ä£¿é×îÖ÷ÒªµÄÓô¦¾ÍÊÇÓÃÀ´ÊµÏÖÉ豸Çý¶¯³ÌÐò¡£
Linux϶ÔÓÚÒ»¸öÓ²¼þµÄÇý¶¯£¬¿ÉÒÔÓÐÁ½ÖÖ·½Ê½£ºÖ±½Ó¼ÓÔØµ½Äں˴úÂëÖУ¬Æô¶¯ÄÚºËʱ¾Í»áÇý¶¯´ËÓ²¼þÉ豸¡£ÁíÒ»ÖÖ¾ÍÊÇÒÔÄ£¿é·½Ê½£¬±àÒëÉú³ÉÒ»¸ö.oÎļþ¡£µ±Ó¦ÓóÌÐòÐèҪʱÔÙ¼ÓÔØ½øÄں˿ռäÔËÐС£ËùÒÔÎÒÃÇËù˵µÄÒ»¸öÓ²¼þµÄÇý¶¯³ÌÐò£¬Í¨³£Ö¸µÄ¾ÍÊÇÒ»¸öÇý¶¯Ä£¿é¡£
É豸Îļþ
¶ÔÓÚÒ»¸öÉ豸£¬Ëü¿ÉÒÔÔÚ/devÏÂÃæ´æÔÚÒ»¸ö¶ÔÓ¦µÄÂß¼É豸½Úµã£¬Õâ¸ö½ÚµãÒÔÎļþµÄÐÎʽ´æÔÚ£¬µ«Ëü²»ÊÇÆÕͨÒâÒåÉϵÄÎļþ£¬ËüÊÇÉ豸Îļþ£¬¸üÈ·ÇеÄ˵£¬ËüÊÇÉ豸½Úµã¡£Õâ¸ö½ÚµãÊÇͨ¹ýmknodÃüÁÁ¢µÄ£¬ÆäÖÐÖ¸¶¨ÁËÖ÷É豸ºÅºÍ´ÎÉ豸ºÅ¡£Ö÷É豸ºÅ±íÃ÷ÁËijһÀàÉ豸£¬Ò»°ã¶ÔÓ¦×ÅÈ·¶¨µÄÇý¶¯³ÌÐò£»´ÎÉ豸ºÅÒ»°ãÊÇÇø
Ïà¹ØÎĵµ£º
SamÒ»ÄêǰÔÚLinuxÏÂдÁËÒ»¸öÀàËÆWindowsÏÂBTWµÄ¿â--BTX¡£ÏÖÔÚÐèÒªÌí¼Óй¦ÄÜʱ·¢Ïֺܶà֪ʶµã¶¼Íü¼ÇÁË¡£ËùÒÔ¾ö¶¨ÔÚÕâ´ÎѧϰÖУ¬°ÑһЩbluez API¼Ç¼ÏÂÀ´¡£Õ⼸ÌìÓÖÏ룬ÕâÑù»¹²»¹»£¬²»Èç°ÑLinuxϵÄBluetooth±à³Ì»ù´¡¸ø¼Ç¼ÏÂÀ´°É¡£
ǰÑÔ£ºËæ×ÅǶÈëʽϵͳµÄ·ÉËÙ·¢Õ¹£¬ºÜ¶àǶÈëʽƽ̨ÉÏÐèÒªBluetoothÉ豸ºÍÓ¦Óᣵ«ÔÚLinuxÏ ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
°´: ¾¡¹ÜÎÒÃÇÒѾ²»Ï°¹ß¿´³¤Æª´óÂÛ, µ«ÎÒ»¹ÊÇҪ˵, ÕâÊÇһƪֵµÃÄã´ÓÍ·¶Áµ½Î²µÄ³¤ÆªÎÄÕÂ.
2005Äê9ÔÂ22ÈÕ£¬Ç廪ÔÚ¶Á²©Ê¿ÉúÍõÛóÔÚˮľÉçÇøBLOGÉÏ·¢±íÁË¡¶Ç廪ÃεķÛËé--д¸øÇ廪´óѧµÄÍËѧÉêÇë¡·Ã÷È·ÒªÇóÍËѧ, ÒýÆðÉç»á¸÷½ç¹ã·ºÕùÂÛ. Ëû´´×÷µÄ³¤ÆªÎÄÕ¡¶ÍêÈ«ÓÃLinux¹¤×÷¡·, ÑóÑóÁ½Íò¶à×Ö, ´Ó²»Í¬½Ç¶È¾Ó¸ßÁÙϵIJûÊöÁËËûÑÛÖÐL ......
¹²ÏíÎļþϵͳÎļþ´«Ê䣬ÊÇÍøÂçÕì¿ØÏîÄ¿ÖеÄÒ»¸öʵ¼Ê²Ù×÷¡£ËüÊÇΪÁ˵ÖÖÆÈëÇÖÕß½øÈëÄÚÍø¶øÌá³öµÄÒ»ÖÖ°²È«½â¾ö·½°¸¡£ÔÚʵ¼Ê´«Êä¹ý³ÌÖУ¬ÍØÆËͼÈçÏ£º
ʵ¼Ê»·¾³¾ùÔÚLinuxÖ÷»úϽøÐС£²ÉÓÃOCFS2Îļþ¼¯ÈºµÄ·½Ê½¡£ÍⲿÖ÷»úAºÍÄÚ²¿Ö÷»úBÖ®¼äµÄͨѶ£¬¾ùͨ¹ý¹²Ïí´æ´¢¿Õ¼äC½øÐнÓÊܺͷ¢ËÍ¡£ÕâÑù¼´Ê¹ÈëÇÖÕßÄÃÏÂÍⲿÖ÷»úA£¬Ò²ÎÞ·¨ÉøÍ¸ÄÚ ......
³ÌÏà¹Øº¯Êý£º
pthread_attr_init()
pthread_attr_setschedpolicy()
pthread_attr_setschedparam()
pthread_attr_destroy()
¾ßÌåÓ¦ÓÃdemo£º
pthread_attr_init(&attr);
pthread_attr_setschedpolicy ......