LinuxÖеĵØÖ·¿Õ¼ä
LinuxÖеĵØÖ·¿Õ¼ä
ÓÐÕâôһϵÁеÄÎÊÌ⣬ÊÇ·ñÔÚÀ§ÈÅ×ÅÄ㣺Óû§³ÌÐò±àÒëÁ¬½ÓÐγɵĵØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Äں˱àÒëºóµØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Òª¶ÔÍâÉè½øÐзÃÎÊ£¬I/OµÄµØÖ·¿Õ¼äÓÖÊÇʲôÑùµÄ£¿
ÏȻشðµÚÒ»¸öÎÊÌâ¡£Linux×î³£¼ûµÄ¿ÉÖ´ÐÐÎļþ¸ñʽΪelf(Executable and Linkable Format)¡£ÔÚelf¸ñʽµÄ¿ÉÖ´ÐдúÂëÖУ¬ld×ÜÊÇ´Ó0x8000000¿ªÊ¼°²ÅųÌÐòµÄ“´úÂë¶Î”£¬¶Ôÿ¸ö³ÌÐò¶¼ÊÇÕâÑù¡£ÖÁÓÚ³ÌÐòÖ´ÐÐʱÔÚÎïÀíÄÚ´æÖеÄʵ¼ÊµØÖ·£¬ÔòÓÉÄÚºËΪÆä½¨Á¢ÄÚ´æÓ³ÉäʱÁÙʱ·ÖÅ䣬¾ßÌåµØÖ·È¡¾öÓÚµ±Ê±Ëù·ÖÅäµÄÎïÀíÄÚ´æÒ³Ãæ¡£
ÎÒÃÇ¿ÉÒÔÓÃLinuxµÄʵÓóÌÐòobjdump¶ÔÄãµÄ³ÌÐò½øÐз´»ã±à£¬´Ó¶øÖªÏþÆäµØÖ··¶Î§¡£
ÀýÈ磺¼Ù¶¨ÎÒÃÇÓÐÒ»¸ö¼òµ¥µÄC³ÌÐòHello.c
# include
greeting ( )
{
printf(“Hello,world!\n”);
}
main()
{
greeting();
}
Ö®ËùÒÔ°ÑÕâÑù¼òµ¥µÄ³ÌÐòд³ÉÁ½¸öº¯Êý£¬ÊÇΪÁË˵Ã÷Ö¸ÁîµÄ×ªÒÆ¹ý³Ì¡£ÎÒÃÇÓÃgccºÍld¶ÔÆä½øÐбàÒëºÍÁ¬½Ó£¬µÃµ½¿ÉÖ´ÐдúÂëhello¡£È»ºó£¬ÓÃLinuxµÄʵÓóÌÐòobjdump¶ÔÆä½øÐз´»ã±à£º
$objdump –d hello
µÃµ½µÄÖ÷ҪƬ¶ÎΪ£º
08048568 :
8048568: pushl %ebp
8048569: movl %esp, %ebp
804856b: pushl $0x809404
8048570: call 8048474 <_init+0x84>
8048575: addl $0x4, %esp
8048578: leave
8048579: ret
804857a: movl %esi, %esi
0804857c :
804857c: pushl %ebp
804857d: movl %esp, %ebp
804857f: call 8048568&n
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ê®ÄêÒÔÀ´£¬È«Çò
Linux
½çÓÐÄÄÐ©ÖØÒª½øÕ¹£¬ÈËÃÇÓ¦¸ÃÖªµÀ£¿¶Ô´Ë£¬ÈËÃÇ¿ÉÒÔÓв»Í¬µÄ¿´·¨£¬µ«ÊÇ£¬´ó¼Ò×ܵÃÓиö´óÖÂÏàͬµÄÈÏʶ¡£Êµ¼ÊÇé¿öÔõÑùÄØ£¿
......
ʵÓÃСÇÏÃÅʵÔÚÌ«¶àÁË£¬ÂýÂý̽Ë÷°É¡£ÏëÆð¸ÕÓõçÄÔʱ£¬ÌìÌìÔÚ¡¶µçÄÔ°®ºÃÕß¡·ÖÐÕÒСÇÏÃÅ¡£ÕÒµ½Á˾ÍÈç»ñÖÁ±¦¡£ÓÖ¿´µ½ÎÒblogÖÐÓÐÈ˻ظ´²»Ï°¹ßubuntu£¬»¹ÊÇͶ±¼win7¡£ÐÄÏ룬Ӧ¸ÃijЩÈËҲͦÐèÒªÒ»µãʹÓÃСÇÏÃŵĽ»Á÷µÄ¡£ÐÅÊÖдÁËЩ£¬¹©²Î¿¼¡£
±¾ÎÄÊʺϳõ¼¶Óû§ÔĶÁ¡£
1.Öն˸´ÖÆÕ³Ìù
ÓÃgnomeÖÕ¶Ëʱ£¬¶Ô×Ö·ûµÄ¸´ÖÆÕ³Ìù¸Ð¾õûÓÐw ......