Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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±à³Ì(Áù) 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ÉÏÊÓÆµ´«ÊäµÄ³ÌÐò


Ô´ÎÄÀ´×Ôhttp://blog.csdn.net/dog0138/archive/2007/03/23/1539277.aspx
C/S ¼Ü¹¹ ³ÌÐòºÜ´óÒÔ²¿·ÖÐÞ¸Ä×ÔSPCAVIEW  ¼ÓÈëÁËXVID±à½âÂëºÍJRTP´«Êä  ÐèÒª°²×°ÏàÓ¦µÄ¿â ÁíÍâÉãÏñÍ·ÓõÄÖÐÐÇ΢µç×ӵĠ ËùÒÔ Çý¶¯×îºÃ×°ÄǸöÍòÄÜÇý¶¯  ÔÚÒ»¸ö¹úÍâÍøÕ¾ÉÏϵĠ Íü¼ÇÊÇʲôÁË ºÃÏñ½ÐSPCAXX 
Ö» ......

linux ½ø³Ì¼ä¹²ÏíÄÚ´æ

¿ÉÒÔ²ÉÓÃsysVµÄshmget £« shmat ʵÏÖ¡£
µ«ÊÇÎÒ¸üϲ»¶shm_open + mmap ¸ü¼òµ¥¡£
#---------------------writer.c----------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h> ......

Ò»¸ö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ºÅ