易截截图软件、单文件、免安装、纯绿色、仅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的参数:预先存放在某个地方的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的


相关文档:

用J2ME做基于手机的C/S模式游戏的流程

问题:用J2ME做基于手机的C/S模式游戏的流程
 查看该问题完整内容如果可以 请介绍下服务器和客户端等方便的内容回答:这些在百度上不好问,去CSDN问用什么语言做都是一样的,你用J2ME做自然是可能要在手机上用,看你要通过蓝牙还是GPRS,但是编程上本质区别不大,底层都是透明的。如何建立连接,通信这些应该明白吧, ......

c / c++ /vc 的一些小知识

打开文件或者程序
1、ShellExecute(0,"open","c:\\abc.exe","","",SW_SHOW);
2、WinExec("c:\\a.exe",SW_SHOW);
3、system("dir c:\\");
关闭文件
m_hwnd = FindWindows("Notepad","a.txt-记事本");
SendMessage(m_hwnd,WM_SYSCOMMAND,SC_CLOSE,0);
隐藏DOS窗口
#pragma comment( linker, "/subsystem:\"windows\" ......

如何让进程在Linux后台运行

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:
[root@localhost /]# ./test.sh &
[1] 17208
然后我们就可以用以下命令进行查看:
[root@localhost /]# jobs -l
[1]  17208 Running ./test.sh &
对于已经在前台执行的命令 ......

LINUX 错误代码 errno

下面这个例子列出了所有系统定义的错误代码及错误描述
源代码是:
/************关于本文档********************************************
*filename: strerror.c
*purpose: 列出了系统定义的所有错误代码及描述
*wrote by: zhoulifa(zhoulifa@163.com) 周立发(http://zhoulifa.bokee.com)
Linux爱好者 Linux知识传播 ......

linux命令


< type="text/javascript"><!--
google_ad_client = "pub-3936520987820628";
//250x250, 创建于 07-12-28
google_ad_slot = "5080959190";
google_ad_width = 250;
google_ad_height = 250;
//-->
< src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javasc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号