您的位置:控制工程论坛网论坛 » 嵌入式系统 » 构建嵌入式linux平台下的用户应用

nicebaby

nicebaby   |   当前状态:在线

总积分:415  2025年可用积分:0

注册时间: 2008-09-09

最后登录时间: 2011-08-09

空间 发短消息加为好友

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

nicebaby  发表于 2008/10/31 14:09:01      912 查看 0 回复  [上一主题]  [下一主题]

手机阅读

1.引言 

  在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次,如图1-1所示:

  (1)引导程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。

  (2)Linux 内核。针对于嵌入式板子的定制内核以及内核的启动参数。

  (3)文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram disk 来作为根文件系统

  (4)用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式 GUI 有:MicroWindows 和 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工作模式,SDRAM初始化)

  2、将U-boot代码拷贝到RAM空间。可以调用C函数

1楼 0 0 回复