Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÄÚ´æ5

ÔÚÄÚ´æÆô¶¯×ʼʱ£¬biosµÄÆðÖ÷µ¼×÷Óã¬ÄÚºËͨ¹ýËüÀ´Á˽âÎïÀíÄÚ´æµÄÇé¿ö¡£Í¬Ê±µ÷ÓÃbios¹ý³Ì½¨Á¢Ò»×éÎïÀíµØÖ··¶Î§ºÍÆä¶ÔÓ¦µÄÄÚ´æÀàÐÍ¡£
ͨ¹ýº¯Êýmachine_specific_memory_setup()º¯ÊýÀ´½¨Á¢ÎïÀíµØÖ·Ó³Éä¡£´Ë±í¿ÉÒÔ»ñÈ¡£¬ÊÇÄÚºËÔÚbiosÁбíµÄ»ù´¡ÉϹ¹½¨µÄ£»·ñÔòÄں˰´ÕÕ±£ÊصÄȱʡÉèÖù¹½¨ÕâÕÅ±í£º´Ó0x9f£¨lowmemsize()£©µ½0x100(high_memory)ºÅµÄËùÓÐÒ³¿ò¶¼±ê¼ÇΪ±£Áô¡£setup_memoryº¯Êý¹¹¼ÜÕâÕÅ±í¡£
static unsigned long __init setup_memory(void)
{
        unsigned long bootmap_size, start_pfn, max_low_pfn;
        start_pfn = PFN_UP(init_pg_tables_end);
        find_max_pfn();
        max_low_pfn = find_max_low_pfn();
        bootmap_size = init_bootmem(start_pfn, max_low_pfn);
        register_bootmem_low_pages(max_low_pfn);
        reserve_bootmem(HIGH_MEMORY, (PFN_PHYS(start_pfn) + bootmap_size + PAGE_SIZE-1) - (HIGH_MEMORY));
        reserve_bootmem(0, PAGE_SIZE);´Ëº¯ÊýÓÃÀ´±£ÁôÒ³Ãæ£¬·½·¨Êǽ«±£Áôλ±ä³É1.
        reserve_ebda_region();
        if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD && boot_cpu_data.x86 == 6)
             reserve_bootmem(0xa0000 - 4096, 4096);
        return max_low_pfn;
}
º¯Êý¾­¹ý¼ò»¯±ä³É×î»ù±¾µÄÐÎ̬¡£
ÆäÖУ¬ul·Ö±ðÊÇbootmap_size£¨bit mapµÄsize£©,start_pfn(¿ªÊ¼µÄÒ³¿ò)£¬max_low_pfn(±»ÄÚºËÖ±½ÓÓ³ÉäµÄ×îºóÒ»¸öÒ³¿òµÄÒ³¿òºÅ) ;
#define PFN_UP(x)       (((x) + PAGE_SIZE - 1) >> PAGE_SHIFT);
unsigned long init_pg_tables_end __initdata = ~0UL
Èý¸öÏà¹ØµÄºê£º
#define PFN_UP(x) (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
#define PFN_DOWN(x) ((x) >> PAGE_SHIFT)
#define PFN_PHYS(x


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵս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 Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

LinuxÖеĵØÖ·¿Õ¼ä

LinuxÖеĵØÖ·¿Õ¼ä
ÓÐÕâôһϵÁеÄÎÊÌ⣬ÊÇ·ñÔÚÀ§ÈÅ×ÅÄ㣺Óû§³ÌÐò±àÒëÁ¬½ÓÐγɵĵØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Äں˱àÒëºóµØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Òª¶ÔÍâÉè½øÐзÃÎÊ£¬I/OµÄµØÖ·¿Õ¼äÓÖÊÇʲôÑùµÄ£¿
ÏȻشðµÚÒ»¸öÎÊÌâ¡£Linux×î³£¼ûµÄ¿ÉÖ´ÐÐÎļþ¸ñʽΪelf(Executable and Linkable Format)¡£ÔÚelf¸ñʽµÄ¿ÉÖ´ÐдúÂëÖУ¬ld×ÜÊÇ´Ó0x ......

»ùÓÚLINUX²Ù×÷ϵͳµÄ·À»ðǽ¼¼Êõ¼°Æä¾ßÌåʵÏÖ

[ÕªÒª]±¾ÎĽéÉÜÁËLINUXϳ£ÓõķÀ»ðǽ¹æÔòÅäÖÃÈí¼þIpchains£»´ÓʵÏÖÔ­Àí¡¢ÅäÖ÷½·¨ÒÔ¼°¹¦ÄÜÌØµãµÄ½Ç¶ÈÃèÊöÁËLINUX·À»ðǽµÄÈýÖÖ¹¦ÄÜ£»²¢¸ø³öÁËÒ»¸öLINUX·À»ðǽʵÀý×÷Ϊ²Î¿¼¡£
[¹Ø¼ü×Ö]LINUX·À»ðǽ¡¢ipchains ¡¢°ü¹ýÂË¡¢´úÀí¡¢IPαװ
1      ǰÑÔ
      ·À»ðǽ×÷Î ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ