微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于嵌入式uCLinux内核启动过程分析与设计

基于嵌入式uCLinux内核启动过程分析与设计

时间:03-30 来源:互联网 点击:

了串口控制程序,还可以利用printk函数打印出必要的调试信息。当init进程启动时,它读取一个运行控制文件rc和一个配置文件inittab。在嵌入式应用中,一般需要在操作系统运行起来后立刻运行用户的特定程序,为此可考虑修改这两个文件。本系统中就是恰当地修改了inittab文件和rc文件,以使系统启动后即运行一些特定进程。在程序inittab.c中修改inittab文件,然后通过向init进程发送SIGHUP信号,即kill(1,SIGHUP),使init进程重新读取配置文件inittab[3]。

  inittab.c文件中的部分代码如下:

  FILE *pFile;

  if((pFile=fopen("/etc/inittab","w"))!=NULL){

  fprintf(pFile,"pollmeter:unknown:/bin/pollmeter");

  fprintf(pFile,"netcomm:unknown:/bin/netcomm");

  ……

  }

  ......

  kill(1,SIGHUP); //init进程的ID等于1

  ……

  在启动过程中还有一个重要的链接脚本文件,在该文件中指明了内核的入口地址。

  总之,uCLinux的启动过程也较复杂,其中要调用许多文件,要能正确的启动uCLinux操作系统,就必须根据硬件平台和系统功能,修改相关的源代码文件。

  3 结束语

  本文分析了内核的启动引导过程,并根据应用系统的特点修改了启动代码以及必要的相关文件,完成了uCLinux内核的正确引导。实际应用表明,本系统的启动设计正确可靠。本文的分析设计方法对嵌入式Linux的开发有很大的借鉴价值,相信Linux在嵌入式系统中的应用一定会越来越广。

参考文献:

[1].Arm7TDMIdatasheethttp://www.dzsc.com/datasheet/Arm7TDMI_139812.html.
[2].S3C4510Bdatasheethttp://www.dzsc.com/datasheet/S3C4510B_589.html.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top