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

linuxÄÚºËÒÆÖ²s3c2410£¬ÒÆÖ²Õýʽ¿ªÊ¼2

ÄÚºËÆô¶¯µÄÏÖÔÚÒѾ­ÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
    printk(KERN_NOTICE);
    printk(linux_banner);
    setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboot´«µÝ¸økernelµÄ²ÎÊý£ºÔ¤ÏÈ´æ·ÅÔÚij¸öµØ·½µÄtagºÍ»úÆ÷ÀàÐÍid£¬»úÆ÷ÀàÐÍidÔÚº¯Êý__look_up_machine
ÖÐÒѾ­Ê¹Óã¬tagÁбíÊÇÔÚº¯Êýsetup_archÖе÷Óõġ£setup_archº¯ÊýÊÇÔÚarch/arm/kernel/setup.cÖж¨Ò壺
void __init setup_arch(char **cmdline_p)
{
 ....
    setup_processor(); // ´¦ÀíÆ÷Ïà¹ØµÄÉèÖÃ
    mdesc = setup_machine(machine_arch_type);  // µÃµ½machine_desc½á¹¹
    machine_name = mdesc->name;
...
    if (mdesc->boot_params) // ¶¨ÒåÁËubootµÄ²ÎÊý
        tags = phys_to_virt(mdesc->boot_params); // µÃµ½uboot²ÎÊýtagµØÖ·
...
    if (tags->hdr.tag == ATAG_CORE) {
        if (meminfo.nr_banks != 0) // ÔÚÄÚºËÖж¨ÒåÁËmeminfo
            squash_mem_tags(tags); // ºöÂÔÄÚ´æÖеÄÐÅÏ¢
        parse_tags(tags); // ½âÎötag
    }
...
    memcpy(boot_command_line, from, COMMAND_LINE_SIZE);
    boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
    parse_cmdline(cmdline_p, from); // ½âÎöÃüÁîÐÐ
    paging_init(&meminfo, mdesc); // ÖØÐ³õʼ»¯Ò³±í
    request_standard_resources(&meminfo, mdesc);
...
}
ÉÏÃæº¯ÊýµÄÒÉÎÊÊÇif (mdesc->boot_params) // ¶¨ÒåÁËubootµÄ²ÎÊý£¬ubootµÄ²ÎÊýÊÇÔÚÄÇÀﶨÒåµÄ£¿´ð°¸¾ÍÊÇÔÚarch/arm/
mach-s3c2410/mach-smdk2410.cÖж¨Ò壺
MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switch
...
    .boot_params    = S3C2410_SDRAM_PA + 0x100,
MACHINE_END
È»ºó¾ÍÊǺ¯Êýparse_tagsµÄ


Ïà¹ØÎĵµ£º

extern "C"Ïà¹ØµÄһЩϸ½ÚÎÊÌâ

×÷ÕߣºÊ¯Í·
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
    externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ ......

linux×ÀÃæ±ÚÖ½×Ô¶¯»»£¨ÀàËÆÓÚwindows7±ÚÖ½×Ô¶¯»»£©

¸´ÖÆÒÔÏÂÄÚÈÝ£¬±£´æÎª  py ºó׺µÄÎļþ£¬¿½±´µ½wallpaperÎļþ¼Ð£¬½øÈëÎļþ¼Ð£¬ÒÔpythonÔËÐУ¬Ñ¡È¡xmlΪ±ÚÖ½
#!/usr/bin/env python2.6
# -*- coding: utf-8 -*-
# Ubuntu 9.10 dynamic wallpaper maker_Can be used in all the distributions of linux
#
# Auto generate a configuration file which you can use ......

linuxµÄttyÉ豸

      ÖÕ¶ËÊÇÒ»ÖÖ×Ö·ûÐÍÉ豸£¬ËüÓжàÖÖÀàÐÍ£¬Í¨³£Ê¹ÓÃttyÀ´¼ò³Æ¸÷ÖÖÀàÐ͵ÄÖÕ¶ËÉ豸¡£ttyÊÇTeletypeµÄËõд£¬TeletypeÊÇ×îÔç³öÏÖµÄÒ»ÖÖÖÕ¶ËÉ豸£¬ºÜÏóµç´«´ò×Ö»ú£¬ÊÇÓÉTeletype¹«Ë¾Éú²úµÄ¡£É豸Ãû·ÅÔÚÌØÊâÎļþĿ¼/dev/Ï£¬ÖÕ¶ËÌØÊâÉ豸ÎļþÒ»°ãÓÐÒÔϼ¸ÖÖ£º
1£¬´®Ðж˿ÚÖÕ¶Ë£¨/dev/ttySn£©£º´®Ðж ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ