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

25.2.1 LinuxÄÚºËUSBÇý¶¯¿ò¼Ü

25.2.1  LinuxÄÚºËUSBÇý¶¯¿ò¼Ü
ͼ25-2ÊÇLinuxÄں˴ÓÖ÷»úºÍÉ豸Á½¸ö½Ç¶È¹Û²ìUSB×ÜÏ߽ṹµÄʾÒâͼ¡£
´Óͼ25-2ÖпÉÒÔ¿´³ö£¬LinuxÄÚºËUSBÇý¶¯Êǰ´ÕÕÖ÷»úÇý¶¯ºÍÉ豸Çý¶¯Á½Ì×ÌåϵʵÏֵģ¬ÏÂÃæ½éÉÜÁ½Ì×ÌåϵµÄ½á¹¹ºÍÌØµã¡£
1£®»ù±¾½á¹¹
ͼ25-2µÄ×ó²àÊÇÖ÷»úÇý¶¯½á¹¹¡£Ö÷»úÇý¶¯µÄ×îµ×²ãÊÇUSBÖ÷»ú¿ØÖÆÆ÷£¬ÌṩÁËOHCI/EHCI/UHCIÕâ3ÖÖÀàÐ͵Ä×ÜÏß¿ØÖƹ¦ÄÜ¡£ÔÚUSB¿ØÖÆÆ÷µÄÉÏÒ»²ãÊÇÖ÷»ú¿ØÖÆÆ÷µÄÇý¶¯£¬·Ö±ð¶ÔÓ¦OHCI/EHCI/UHCIÕâ3ÖÖÀàÐ͵Ä×ÜÏß½Ó¿Ú¡£USBºËÐIJ¿·ÖÁ¬½ÓÁËUSB¿ØÖÆÆ÷Çý¶¯ºÍÉ豸Çý¶¯£¬ÊÇÁ½ÕßÖ®¼äµÄת»»½Ó¿Ú¡£USBÉ豸Çý¶¯²ãÌṩÁ˸÷ÖÖÉ豸µÄÇý¶¯³ÌÐò¡£
USBÖ÷»ú²¿·ÖµÄÉè¼Æ½á¹¹ÍêÈ«ÊÇ´ÓUSB×ÜÏßÌØµã³ö·¢µÄ¡£ÔÚUSB×ÜÏßÉÏ¿ÉÒÔÁ¬½Ó¸÷ÖÖ²»Í¬ÀàÐ͵ÄÉ豸£¬°üÀ¨×Ö·ûÉ豸¡¢¿éÉ豸ºÍÍøÂçÉ豸¡£ËùÓÐÀàÐ͵ÄUSBÉ豸¶¼ÊÇÓÃÏàͬµÄµçÆø½Ó¿Ú£¬Ê¹ÓõĴ«ÊäЭÒéÒ²»ù±¾Ïàͬ¡£ÏòÓû§ÌṩijÖÖÌØ¶¨ÀàÐ͵ÄUSBÉ豸ʱ£¬ÐèÒª´¦ÀíUSB×ÜÏßЭÒé¡£ÄÚºËÍê³ÉËùÓеÄUSB×ÜÏßЭÒé´¦Àí£¬²¢ÇÒÏòÓû§Ìṩ±à³Ì½Ó¿Ú¡£
ͼ25-2  LinuxÄÚºËUSB×ÜÏ߽ṹ
ͼ25-2ÓÒ²àÊÇÉ豸Çý¶¯½á¹¹¡£ÓëUSBÖ÷»úÀàËÆ£¬USBÉ豸ÌṩÁËÏàͬµÄ²ã´Î½á¹¹ÓëÖ®¶ÔÓ¦¡£µ«ÊÇÔÚUSBÉ豸һ²àʹÓÃÃûΪGadget APIµÄ½á¹¹×÷ΪºËÐÄ¡£Gadget APIÊÇLinuxÄÚºËʵÏֵĶÔÓ¦USBÉ豸µÄºËÐĽṹ¡£Gadget APIÆÁ±ÎÁËUSBÉ豸¿ØÖÆÆ÷µÄϸ½Ú£¬¿ØÖƾßÌåµÄUSBÉ豸ʵÏÖ¡£
2£®É豸
ÿ¸öUSBÉ豸ÌṩÁ˲»Í¬¼¶±ðµÄÅäÖÃÐÅÏ¢¡£Ò»¸öUSBÉ豸¿ÉÒÔ°üº¬Ò»¸ö»ò¶à¸öÅäÖ㬲»Í¬µÄÅäÖÃʹÉ豸±íÏÖ³ö²»Í¬µÄÌØµã¡£ÆäÖУ¬É豸µÄÅäÖÃÊÇͨ¹ý½Ó¿Ú×é³ÉµÄ¡£LinuxÄں˶¨ÒåÁËUSBÉ豸ÃèÊö½á¹¹ÈçÏ£º
 
struct usb_device_descriptor {
    __u8  bLength;              // É豸ÃèÊö·û³¤¶È
    __u8  bDescriptorType;      // É豸ÀàÐÍ
 
    __le16 bcdUSB;              // USB°æ±¾ºÅ£¨Ê¹ÓÃBCD±àÂ룩
    __u8  bDeviceClass;         // USBÉ豸ÀàÐÍ
    __u8  bDeviceSubClass;      // USBÉ豸×ÓÀàÐÍ
    __u8  bDeviceProtocol;      // USBÉ豸ЭÒéºÅ
   


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linux¼ÓÃÜ·ÖÇøµÄ´´½¨ºÍʹÓÃ

×î½ü×°ÁËfedora9,ÓÉÓÚÏÔʾÎÊÌâºÜ´ó,ÓÖÍË»ØÁËf8.È»ºóÔÚf9°²×°Ê±¶ÔÎļþµÄ±¸·Ý·ÖÇø¼ÓÁËÃÜ,½á¹ûµ¼ÖÂÎÒ²»Äָܻ´±¸·ÝÎļþÁË,ÄǸöÓôÃÆ°¢,Ò»¹ÒÔØ
¼ÓÃÜ·ÖÇø¾ÍÌáʾÎÒ"mount: unknown filesystem type
'crypt_LUKS'",ÍøÉÏÕÒÁ˰ëÌì²ÅÕÒµ½½â¾ö°ì·¨,˳´øÒ²Á˽âÁËlinux¶ÔÊý¾Ý±£»¤µÄÇ¿´ó
ÕâÀï¾Í¶ÔÈçºÎʹÓÃlinux±£»¤
Ó²ÅÌÀïµÄ ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

from:×ÞöεÄרÀ¸
    ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
  &n ......

20.1 LinuxÄÚºËÒÆÖ²Òªµã

20.1  LinuxÄÚºËÒÆÖ²Òªµã
LinuxµÄ´úÂëÍêÈ«¿ª·ÅÒÔ¼°ÆäÁ¼ºÃµÄ½á¹¹Éè¼Æ·Ç³£ÊÊÓÚǶÈëʽϵͳ¡£ÒÆÖ²Linuxϵͳ°üÀ¨Äںˡ¢³ÌÐò¿âºÍÓ¦ÓóÌÐò£¬ÆäÖÐ×îÖ÷ÒªµÄ¾ÍÊÇÄÚºËÒÆÖ²¡£ÓÉÓÚLinuxÄں˵Ŀª·ÅÐÔ£¬³öÏÖÁËÐí¶àÕë¶ÔǶÈëʽӲ¼þϵͳµÄÄں˰汾£¬ÆäÖÐÖøÃûµÄ°üÀ¨μcLinux¡¢RT-LinuxµÈ¡£
Linux±¾Éí¶ÔÄÚ´æ¹ÜÀí£¨MMU£©ÓкܺõÄÖ§³Ö¡£Ò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ