构建嵌入式linux平台下,用户的应用状态

1.引言
在专用的嵌入式板子运行 GNU/     Linux   系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次,如图1-1所示:
(1)引导程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。
(2)Linux 内核。针对于嵌入式板子的定制内核以及内核的启动参数。
(3)文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用     ram   disk 来作为根文件系统
(4)用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式     图形   用户界面。常用的嵌入式 GUI 有:     Mi   croWindows 和 MiniGUI 。
下面就在linux-2.4.x内核上如何正确组织、连接这几个部分来自动运行用户应用程序进行分析。
2.linux的启动过程
在系统复位后首先远行的程序就是引导程序(Boot loader)。 引导程序可以放在专用的     ROM   中,也可以和内核影像、文件系统影像共用闪存芯片或固态硬盘如下图所示。引导程序首先负责初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。Uboot是Sourceforge上的一个开源的引导程序,提供了对PowerPC(MPC5xx、MPC8xx、MPC82x、MPC7xx、MP74xx、4xx)、     ARM   (ARM7、ARM9、StrongArm、Xsacle)、MIPS、x86等处理器的支持。下载站点是http://sourceforge.net/projects/u-boot
U-boot在ARM9系统启动流程:
1、跳转到reset代码(将     CPU   设置成SVC,ARM工作模式,S     DRAM   初始化)
2、将U-boot代码拷贝到RAM空间。可以调用C函数
3、调用初始化函数
(CPU_init(),board_init(),in     te   rrupt_init(),serial_init())
4、初始化flash设备
5、初始化系统内存分配函数
6、初始化NAND设备
7、初始化显示设备
8、初始化网络设备
9、进入命令循环,接收用户从串口传来的命令,如果延时10秒钟无用户操作则自动加载linux内核。首先将linux内核影像(kernel Image)拷贝到ram空间,然后跳转到linux内核代码的第一条指令处,将控制权交给linux内核。

构建嵌入式linux平台下,用户的应用状态_设计制作_嵌入式技术
66
125
0
39

相关资讯

  1. 1、杨蓉终于又当女主,携献礼新剧来袭,搭档《伪装者》中实力派的他3447
  2. 2、《赤狐书生》上映首周票房破亿陈立农诠释呆萌书生打动观众4319
  3. 3、《离婚协议》热拍孙宁“巧斗”极品公婆2400
  4. 4、《末日之战》曝剧照皮特手执斧头保家战僵尸2960
  5. 5、袁姗姗低调签约新东家,一年半前和于正解约被骂惨3751
  6. 6、《胜女的代价》首播引热评精良制作吸引眼球414
  7. 7、十句话点评《邪不压正》,重度直男癌患者姜文的快意江湖566
  8. 8、最近热度较大的八部剧集,哪部是你的最爱?2098
  9. 9、热播剧《创业时代》魔晶确有原型,如今现实版魔晶已上线!4129
  10. 10、恍如隔世!TVB戏骨石修儿子35年后再探班米雪,赞其无变化3765
全部评论(0)
我也有话说
0
收藏
点赞
顶部