Linux kernel development Chapter1
1 linuxÄÚºË
²¢²»Çø·ÖÏ̺߳ͽø³Ì¡£¶ÔÓÚÄÚºËÀ´Ëµ£¬ËùÓеÄÏ̺߳ͽø³Ì¶¼Ò»Ñù£¬Ö»ÊÇÆäÖеÄһЩ¹²Ïí×ÊÔ´¶øÒÑ¡£
2 Äں˿ª·¢Ìص㣺
2.1 linuxÄں˿ª·¢²»ÄÜʹÓÃcº¯Êý¿â£¬ÒòΪc¿âÐèÒª²Ù×÷ϵͳµÄÖ§³Ö£¬¶øÇÒc¿âµÄ´óСºÍЧÂÊÒ²ÊÇÄں˿ª·¢Ëù²»ÄÜÈÝÈ̵ģ»
µ«ÊǴ󲿷Öc¿âº¯ÊýÔÚÄÚºËÖж¼ÊDZ»ÊµÏÖÁË¡£Ö»Òª°üº¬Äں˴úÂë
ÖÐÏàÓ¦µÄÍ·Îļþ£¬¾ÍÄܹ»Ê¹ÓÃÏàÓ¦µÄÀàËƺ¯Êý£»
2.2 linuxÄں˿ª·¢Ö»ÄÜʹÓÃGNU c±ê×¼£»
linuxÄں˲¢²»°²È«·ûºÏANSI C±ê×¼£¬Óõ½ÁËÐí¶àgccÌṩµÄÓïÑÔÀ©Õ¹²¿·Ö£º
2.2.1 ÄÚÁª£¨inline£©º¯Êý£¬gccÖ§³ÖÄÚÁªº¯Êý£¨ANSI CÔÚC99ÖÐÒ²¿ªÊ¼Ö§³Öinline£©¡£¶¨ÒåÒ»¸öÄÚÁªº¯ÊýµÄʱºò£¬ÒªÊ¹ÓÃstatic¹Ø¼ü
×Ö½øÐÐÏÞ¶¨ £¨ÎªÊ²Ã´ÐèÒªstatic¹Ø¼ü×Ö£¬²Î¿¼¡¶gccµÄÄÚÁªÖ§³Ö¡·£©£¬²¢ÇÒÄÚÁªº¯Êý³£ÔÚÍ·ÎļþÖж¨Òå¡£
2.2.2 ÄÚÁª»ã±à¡£gccÖ§³ÖÔÚcÓïÑÔ´úÂëÖÐǶÈë»ã±à´úÂë¡£
2.2.3 ·ÖÖ§ÉùÃ÷¡£¶ÔÓÚÌõ¼þÑ¡ÔñÓï¾ä£¬gccÄÚ½¨ÁËÒ»ÌõÖ¸ÁîÓÃÓÚÓÅ»¯¡£Èç¹ûÒ»¸öÌõ¼þΪÕæ»òΪ¼ÙµÄ¸ÅÂʱȽϴó£¬ÄÇô±àÒëÆ÷¾Í¿ÉÒÔ¸ù
¾Ý¸ÃÖ¸Áî¶ÔÌõ¼þ·Ö֧ѡÔñ½øÐÐÓÅ»¯¡£
Äں˰ÑÕâÌõÖ¸Áî·â×°³ÉÁ˺꣬±ÈÈçlikely()ºÍunlikyle()£¬ÒÔ·½±ãʹÓã¬ÀýÈ磺
&
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ 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É豸Îļþ¼ò½é
¸ÅÊö
É豸¹ÜÀíÊÇlinuxÖбȽϻù´¡µÄ¶«Î÷£¬µ«ÊÇÓÉÓÚLinuxÖÇÄ̶ܳȵÄÔ½À´Ô½¸ß£¬UdevµÄʹÓÃÔ½À´Ô½¹ã·º£¬Ê¹µÃÔ½À´Ô½¶àµÄLinuxÐÂÓû§¶Ô /dev Ŀ¼ÏµĶ«Î÷±äµÃ²»ÔÙÊìϤ¡£ÓÐʱºòÓö¼ûÎÊÌâ¾Í»á±äµÃ×¥¿ñ¡£
Linux ÖеÄÉ豸ÓÐ2ÖÖÀàÐÍ£º×Ö·ûÉ豸(ÎÞ»º³åÇÒÖ»ÄÜ˳Ðò´æÈ¡)¡¢¿éÉè ......
wget http://bu3sch.de/b43/fwcutter/bcm43xx-fwcutter-006.tar.bz2
tar xjf bcm43xx-fwcutter-006.tar.bz2
cd bcm43xx-fwcutter-006
make
cd ..
£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½
ÏÂÔز¢¹¹½¨×îеÄb43-fwcutter£º
wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.b ......