linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÄÚ´æ6
µ±ramСÓÚ896mbʱµÄ×îÖÕÄÚºËÒ³±í
ÓÉÄÚºËÒ³±íËùÌṩµÄ×îÖÕÓ³É䱨Ðë°Ñ´Ó0xc0000000¿ªÊ¼µÄÏßÐÔµØÖ·×ª»¯Îª´Ó0¿ªÊ¼µÄÎïÀíµØÖ·¡£
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)½«´Ópage_offset¿ªÊ¼µÄÏßÐÔµØÖ·×ª»»³ÉÏàÓ¦µÄÎïÀíµØÖ·¡£
#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET))ÓëÉÏÃæµÄ·´Ïò¡£
void __init paging_init(void)
{
#ifdef CONFIG_X86_PAE
set_nx();
if (nx_enabled)
printk("NX (Execute Disable) protection: active\n");
#endif
pagetable_init();
load_cr3(swapper_pg_dir);
#ifdef CONFIG_X86_PAE
/*We will bail out later - printk doesn't work right now so the user would just see a hanging kernel.*/
if (cpu_has_pae)
set_in_cr4(X86_CR4_PAE);
#endif
__flush_tlb_all();
kmap_init();
zone_sizes_init();
}
¿´Õâ¸öº¯ÊýÖÐ×î»ù±¾µÄһЩ³ÌÐòÐУ¬ÊÝÉíºóµÄº¯Êý£º
¼¸¸ö±äÁ¿£ºpgd_tÃèÊöҳȫ¾ÖĿ¼Ïpmd_tÃèÊöÒ³ÖмäÏpud_tÒ³Éϼ¶Ä¿Â¼£¬pte_tÒ³±íÏî¡£
#define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1))ÕÒµ½ÏßÐÔµØÖ·address¶ÔÓ¦µÄĿ¼ÏîÔÚҳȫ¾ÖĿ¼ÖеÄË÷Òý£¨Ïà¶ÔλÖã©
ͨ¹ýºêÓëpgd_baseÏà¼Ó£¬µÃµ½µ±Ç°pgd¡£ÔÚÍâ²ãÑ»·ÖбéÀú£¬Ñ»·ÖкêµÄ×÷ÓÃÊDZíʾҳȫ¾ÖĿ¼±íÖбíÏî¸öÊý¡£½øº¯Êýone_md_table_init¡£
pud = pud_offset(pgd, 0);½ÓÊÕÖ¸Ïòҳȫ¾ÖĿ¼ÏîµÄÖ¸ÕëpgdºÍÏßÐÔµØÖ·addr×÷Ϊ²ÎÊý¡£Õâ¸öºê²úÉúÒ³Éϼ¶Ä¿Â¼ÖÐĿ¼Ïîaddr¶ÔÓ¦µÄÏßÐÔµØÖ·¡£ÔÚÁ½¼¶»òÕßÈý¼¶·ÖҳϵͳÖУ¬²úÉúpgd,Ò»¸öҳȫ¾ÖĿ¼ÏîµÄµØÖ·¡£
pmd_table = pmd_offset(pud, 0);²úÉúÁËĿ¼ÏîaddrÔÚÒ³ÖмäĿ¼ÖÐµÄÆ«ÒƵØÖ·£¬ÔÚÁ½¼¶»òÕßÈ
Ïà¹ØÎĵµ£º
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 ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÕªÒª
LinuxÔÚÏû·Ñµç×ÓÀà²úÆ·Öеõ½Á˹㷺ӦÓã¬ÓÉÓÚǶÈëʽÓû§¶ÔÓÚϵͳÆô¶¯ËٶȽÏΪÃô¸Ð£¬Òò´Ë¿ìËÙÆô¶¯¼¼ÊõÖð½¥³ÉΪÑо¿ºÍÓ¦ÓÃÖеÄÒ»¸öÖØµã¡£±¾ÎÄͨ¹ý¶ÔǶ
Èëʽ
LinuxµÄÆô¶¯Ê±ÐòºÍÖ÷ÒªÑÓʱÒòËØµÄ·ÖÎö£¬Õë¶ÔÐÔµØÌ½ÌÖÁËÔÚ¸÷¸öÆô¶¯½×¶Î½µµÍʱºÄµÄ¼¼Êõ£¬Öصã·ÖÎöÁËXIP¼¼ÊõºÍXIPÎļþϵͳ£¬²¢¸ø³öÁËÖ÷ÒªµÄʵÏÖ¹ý
³Ì¡£
¹Ø¼ü´ ......
1¡¢TCP/IP²Î¿¼Ä£ÐÍ
ΪÁËʵÏÖ¸÷ÖÖÍøÂçµÄ»¥Á¬£¬¹ú¼Ê±ê×¼»¯×éÖ¯(ISO)ÖÆ¶¨ÁË¿ª·Åʽϵͳ»¥Á¬(OSI)²Î¿¼Ä£ÐÍ¡£¾¡¹ÜOSIµÄÌåϵ½á¹¹´ÓÀíÂÛÉϽ²ÊDZȽÏÍêÕûµÄ£¬µ«Êµ¼ÊÉÏ£¬ÍêÈ«·ûºÏOSI¸÷²ãÐÒéµÄÉÌÓòúÆ·È´ºÜÉÙ½øÈëÊг¡¡£¶øÊ¹ÓÃTCP/IP ÐÒéµÄ²úÆ·È´´óÁ¿Ó¿ÈëÊг¡£¬¼¸ºõËùÓеŤ×÷Õ¾¶¼ÅäÓÐTCP/IPÐÒ飬ʹµÃTCP/IP ³ÉΪ¼ÆËã»úÍøÂçµÄʵ¼ÊµÄ¹ ......