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

Linux ÄÚ´æ°ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷µÄʵÏÖ


3.2.1 Linux ÄÚ´æ°ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷µÄʵÏÖ×ÜÌå²½Öè
×ÜÌå²½Ö裺
l         ²ÉÓ÷½°¸Èý£¬ÔÚÔÚÔ­À´·ÖÎöµÄ»ù´¡ÉÏ£¬ÒÔ¼°ÒÑÖªLinuxϵͳÄÚ´æµÄ³õʼ»¯µÄÇé¿ö£¬¶ÔÄں˴úÂë½øÐÐÐ޸ģ¬Ö÷Òª°üÀ¨È·¶¨ÐÂÇøµÄ·¶Î§£¬½¨Á¢ÐÂÇø£¬ÖØжԷÖÅäÄÚ´æµÄ·ÖÅä»úÖƽøÐÐÉèÖá£
l         ÐÂÇø»®·Öºó£¬¶Ôн¨µÄÁ½¸öÇø½øÐÐÒ»¶¨³Ì¶ÈÉϵÄÑÓ³Ù£»
l         ½¨Á¢ÏµÍ³µ÷Óã¬ÏµÍ³µ÷Óý«ÌṩÓû§½øÐÐÊÖ¶¯ÉèÖ÷ÃÎÊ·½Ê½¡£
l         ¶ÔÄں˽øÐÐÅäÖ㬲¢½øÐÐÏà¹Øµ÷ʽ¡£
l         Óû§³ÌÐò½øÐÐ×îÖյIJâÊÔ£¬²¢ÑéÖ¤Ïà¹Ø½áÂÛ¡£
3.2.2 Linux Äں˰ó¶¨ÔÚ¾Ö²¿´æ´¢Æ÷´úÂëʵÏÖ
(Ò»)¡¢Ð޸ĴúÂ룺
1)       ÔÚinit/main.cÕâ¸öÎļþÖÐ,ÔÚÕâÒ»¶Î´úÂë
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
#endif
µÄÏÂÃæÔö¼ÓÕâ¶Î´úÂë:
unsigned long max_normal_low_pfn=0;
EXPORT_SYMBOL(max_normal_low_pfn); 
ÕâÀïʹÓÃEXPORT_SYMBOLÊÇÉùÃ÷max_normal_low_pfnÊÇÈ«¾Ö±äÁ¿£¬ËùÓеÄÎļþ¶¼¿ÉÒÔʹÓã¬ËüµÄÓô¦ÊÇΪÁ˱ê¼ÇÐÂÇøZONE_NORMAL_LOWµÄ×î´ó¿ÉÓõÄÒ³¿òºÅ¡£
 
2)       arch/x86/kernel/setup.cÕâ¸öÎļþ£º
l         ÔÚstruct boot_params boot_params;
#endifÖ®ºóÌí¼Ó£¬ÉùÃ÷¸Ã±äÁ¿ÒѾ­ÔÚ±ðµÄÎļþÓж¨ÒåÁË
extern unsigned long max_normal_low_pfn;
l         ÔÚsetup_arch()Õâ¸öº¯ÊýÖУ¬ÔÚfind_low_pfn_range()Õâ¸öÖ®ºó£¬Ôö¼ÓÕâÒ»¾ä£º
        max_normal_low_pfn = max_low_pfn/2;
        ¸Ã¾äÓÃÓÚ¼ÆËãÐÂÇø(ZONE_NORMAL_LOW)µÄ×î´ó¿ÉÓÃÒ³¿òºÅ¡£
3)       ÔÚarch/x86/mm/init_32.cÎļþ
l         ÔÚunsigned long max_low_pfn_mapped; unsigned long max_pfn_mapped;Ö®ºóÌí¼Óextern unsigned long max_normal_low_pfn;
l         ÔÚstatic void __init zone_sizes_init(void)Õâ¸öº¯ÊýÖÐÔö¼ÓÕâ¾ä´ú


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØͼ£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

linux mmapÇý¶¯ÊµÏÖ

ÔÚʵÏÖÇý¶¯³ÌÐòµÄmmapº¯Êýʱ£¬Òª×¢ÒâÓ³ÉäµØÖ·µÄת»»ÎÊÌ⣬¼û´úÂë¡£
¶¨ÒåÒ»¸öÉ豸½á¹¹Ì壺
struct leedriver
{
struct cdev cdev;
unsigned char mem[MEMSIZE];
};
ÕâÀïÃæÕâ¸öMEMSIZE£¬×îС¶¼ÒªÊÇ4096£¬ÒòΪÄÚ´æÓ³ÉäÊÇÒÔҳΪµ¥Î»µÄ¡£
ÔÚʵÏÖsimple_remap_mmapº¯Êýʱ£¬´úÂëÈçÏÂ
static int simple_remap_mmap(stru ......

fork compare to exec in linux c program

pid_t  pid=fork()
it has 3 situation for the return result pid
0  child
>0 parent process
<0 fork fail
fork create a new process  and it parent live alse when the child process had been created ......

Linux»·¾³±äÁ¿ÉèÖÃ


1¡¢Ö±½ÓÓÃexportÃüÁ
#export PATH=$PATH:×Ô¶¨Òå·¾¶
²é¿´ÊÇ·ñÒѾ­ÉèºÃ£¬¿ÉÓÃÃüÁîexport²é¿´£º
[root@localhost bin]# export
PATH=$PATH:×Ô¶¨Òå·¾¶
2¡¢ÐÞ¸ÄprofileÎļþ£º 
#vi /etc/profile 
ÔÚÀïÃæ¼ÓÈë:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. ÐÞ¸Ä.bashrcÎļþ£º
# vi /root/. ......

linuxË«Íø¿¨Íø¶ÎÍø¹ØÁ÷¿ØÅäÖÃ

Õâ¸öÎÊÌâÀ§ÈÅÎÒÖÁÉÙ2¸öÐÇÆÚÁË£¬·´·´¸´¸´²éÁ˺ܶà×ÊÁÏ£¬½ñÌìÖÕÓÚÄÜÅäÖÃÍê³É£¬ÏÖÔÚҪдÏÂÀ´¼¤¶¯°¡£¬²îµã¾ÍÆøÄÙÁË¡£
ÒªÇó£ºÎÒÏë×öipp2pµÄÁ÷Á¿¿ØÖƲâÊÔ£¬ËùÒÔÒªÔÚ¹«Ë¾ÄÚ²¿´î½¨Ò»¸ö²âÊÔ»·¾³¡£ÔÚÎÒͬ¹«Ë¾µÄÍøÖ®¼ä´î½¨Ò»Ì¨Ë«Íø¿¨µÄlinux»úÆ÷£¬¾ßÌåÓ²¼þ¼ÜÉèͼÊÇÕâÑùµÄ
»¥ÁªÍø
|
¹«Ë¾µÄÄÚ²¿Íø¶Î192.168.4.0(Íø¹ØÊÇ192.168.4.1)
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ