LinuxÖеȴý¶ÓÁлúÖÆ·ÖÎö
LinuxÖеȴý¶ÓÁлúÖÆ·ÖÎö
ʲôÊǵȴý¶ÓÁУ¿
ÔÚÈí¼þ¿ª·¢ÖÐÈÎÎñ¾³£ÓÉÓÚijÖÖÌõ¼þûÓеõ½Âú×ã¶ø²»µÃ²»½øÈë˯Ãß״̬£¬È»ºóµÈ´ýÌõ¼þµÃµ½Âú×ãµÄʱºòÔÙ¼ÌÐøÔËÐУ¬½øÈëÔËÐÐ״̬¡£ÕâÖÖÐèÇóÐèÒªµÈ´ý¶ÓÁлúÖÆµÄÖ§³Ö¡£LinuxÖÐÌṩÁ˵ȴý¶ÓÁеĻúÖÆ£¬¸Ã»úÖÆÔÚÄÚºËÖÐÓ¦Óúܹ㷺¡£
ÔÚLinuxÄÚºËÖÐʹÓõȴý¶ÓÁеĹý³ÌºÜ¼òµ¥£¬Ê×Ïȶ¨ÒåÒ»¸öwait_queue_head£¬È»ºóÈç¹ûÒ»¸ötaskÏëµÈ´ýijÖÖʼþ£¬ÄÇôµ÷ÓÃwait_event£¨µÈ´ý¶ÓÁУ¬Ê¼þ£©¾Í¿ÉÒÔÁË¡£
LinuxÖеȴý¶ÓÁеÄʵÏÖ
µÈ´ý¶ÓÁÐÓ¦Óù㷺£¬µ«ÊÇÄÚºËʵÏÖÈ´Ê®·Ö¼òµ¥¡£ÆäÉæ¼°µ½Á½¸ö±È½ÏÖØÒªµÄÊý¾Ý½á¹¹£º
<!--[if !supportLists]-->1) <!--[endif]-->__wait_queue_head£¬¸Ã½á¹¹ÃèÊöÁ˵ȴý¶ÓÁеÄÁ´Í·£¬Æä°üº¬Ò»¸öÁ´±íºÍÒ»¸öÔ×ÓËø£¬½á¹¹¶¨ÒåÈçÏ£º
struct __wait_queue_head {
spinlock_t lock; /* ±£»¤µÈ´ý¶ÓÁеÄÔ×ÓËø */
struct list_head task_list; /* µÈ´ý¶ÓÁÐ */
};
<!--[if !supportLists]-->2) <!--[endif]-->__wait_queue£¬¸Ã½á¹¹ÊǶÔÒ»¸öµÈ´ýÈÎÎñµÄ³éÏó¡£Ã¿¸öµÈ´ýÈÎÎñ¶¼»á³éÏó³ÉÒ»¸öwait_queue£¬²¢ÇÒ¹ÒÔØµ½wait_queue_headÉÏ¡£¸Ã½á¹¹¶¨ÒåÈçÏ£º
struct __wait_queue {
unsigned int flags;
void *private; /* ͨ³£Ö¸Ïòµ±Ç°ÈÎÎñ¿ØÖÆ¿é */
/* ÈÎÎñ»½ÐѲÙ×÷·½·¨£¬¸Ã·½·¨ÔÚÄÚºËÖÐÌṩ£¬Í¨³£Îªautoremove_wake_function */
wait_queue_func_t func; &nb
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,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ϵͳ½øÐÐÉèÖã¬Ê×ÏÈÒªÊìϤLinuxϵͳµÄÉèÖÃÓïÑÔ¡£¶ÔϵͳµÄÆô¶¯¹ý³Ì½øÐÐÉèÖÃÊÇÒ»Ïî±È½ÏΣÏÕµÄÐÐΪ£¬ÈÝÒ×Ôì³Éϵͳ ÎÞ·¨Æô¶¯¡£Ò»µ©·¢ÉúÕâÖÖÇé¿ö£¬×îºÃÖØÐÂÆô¶¯ÏµÍ³ºóÑ¡Ôñµ¥Ò»Óû§Ä£Ê½£¬½«ÏµÍ³»¹Ô²¢ÖØÆô¡£µ±È»£¬×îÖØÒªµÄÊÇÔÚÉèÖÃǰ±¸·ÝÖØÒªÊý¾Ý¡£
Æä´Î£¬½¨ÒéÓû§×îºÃÔÚ¶Ô±¾»úϵͳ½ ......
ÔÚmenuconfigÖÐÅäÖ㬿ÉÒÔ¶Ô½øÐÐLinuxÄÚºËÅäÖÃÑ¡Ïɾ¸Ä¡£±¾ÎĽéÉÜÏêϸÅäÖ÷½·¨¡£
µÚÒ»²¿·Ö£ºÈ«²¿É¾³ý
Code maturity level options ---> ´úÂë³ÉÊìµÈ¼¶Ñ¡Ïî
[]Prompt for development and/or incomplete code/drivers ĬÈÏÇé¿öÏÂÊÇÑ¡ÔñµÄ£¬Õ⽫»áÔÚÉèÖýçÃæÖÐÏÔʾ»¹ÔÚ¿ª·¢»òÕß»¹Ã»ÓÐÍê³ÉµÄ´úÂëÓëÇý¶¯.²»Ñ¡¡£
µÚ¶þ²¿ ......
LinuxÏÂscpµÄÓ÷¨
http://blog.csdn.net/Channels_net/archive/2009/09/02/4510286.aspx
scp¾ÍÊÇsecure copy£¬Ò»¸öÔÚlinuxÏÂÓÃÀ´½øÐÐÔ¶³Ì¿½±´ÎļþµÄÃüÁî¡£
ÓÐʱÎÒÃÇÐèÒª»ñµÃÔ¶³Ì·þÎñÆ÷ÉϵÄij¸öÎļþ£¬¸Ã·þÎñÆ÷¼ÈûÓÐÅäÖÃftp·þÎñÆ÷£¬Ò²Ã»ÓÐ×ö¹²Ïí£¬ÎÞ·¨Í¨¹ý³£¹æÍ¾¾¶»ñµÃÎļþʱ£¬Ö»ÐèҪͨ¹ý¼òµ¥µÄscpÃüÁî±ã¿É´ïµ½Ä¿µÄ¡£
Ò» ......