资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
1 嵌入式系统的内核引导启动过程浅析 仲崇权 杨素英 陈宝君 大连理工大学电子与信息工程学院 摘 要 引导加载程序(是嵌入式系统电后第一个开始运行的代码。在内核映像执行之前完成相关的底层硬件的初始化,建立内存空间的映射图等重要工作,然后为内核提供引导参数,启动内核。通过对结合德国发的具有功能强大的出关键词 嵌入式系统, is up up it up is a of in in on . 引言 嵌入式系统和为后个嵌入式导程序,件系统和用户应用程序。最终调用操作系统内核做好准备。操作系统提供一个标准的接口,屏蔽了硬件的多样性,因此减少了开发周期,同时支持。 2. 固态存储设备的典型空间分配结构 嵌入式系统的固态存储设备的典型空间分配结构可以映像核启动参数、内核映像和根文件系统为四个部分,如图1所示2。其中,是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境引导到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统严重地依赖于硬件而实现的,每种不同的 系结构以及不同的嵌入式板级设备的配置都有不同的 3. 多数启动加载模式:个过程并没有用户的介入。这种模图1. 固态存储设备的典型空间分配结构 2 式是此在嵌入式产品发布时,下载模式:在这种模式下,目标机上的后再被者直接进行系统的引导。前一种功能通常是用于第一次烧写内核与根文件系统到者多用于开发人员在前期开发的过程中。工作于这种模式下的4. 操作系统的角度来看,启动过程分为是单阶段(多阶段(通常多阶段的 提供更为复杂的功能以及更好的可移植性。从固态存储设备上启动的 多都是两个阶段的启动过程,也即启动过程可以分为 和 两部分3。依赖于常都放在用汇编语言来实现,以达到短小精悍的目的。样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。 . 基本硬件的初始化,包括以下步骤: (1) 屏蔽所有中断; (2) 置(3) 初始化 (4) 初始化(5) 为加载2 复制 3 设置堆栈指针执行4 跳转到. 初始化本阶段要用到的硬件设备; 2. 检测系统的内存映射,将存储在确定这些预留的3. 加载内核映像和根文件系统映像; 4. 设置内核启动参数,嵌入式常由5. 调用内核,即直接跳转到内核的第一条指令地址处执行。 一个事件引起过矢量表跳转,进特权模式,关中断 输出系统状态 设置钟频率,存储控制器 关闭据制载内核并传递内核参数 进入测系统内存映射并输出检测信息 跳转到入内核执行 是否加载内核 否 是执行5. 德国组开发的用于多种嵌入式支持 等多种处理器平台,易于裁剪和调试。 循通用公共许可) 公约,完全开放源代码。表1. . 硬件资源 要用于工业控制、性能要求比较高的场合。该芯片的主要特点有:主频为180内存管理单元,支持围总线接口支持态存储器、以太网(0/100 s,个个1. 2. 3. 以太网接口芯片: 4. 串口: 用于调试; 5. 晶振:外部182列出了针对行分析 中汇编语言编写,在/来加载操作系统内核,是由/ 函数来实现。 系统启动流程 首先,在 : *( 其中,口代码如下: b _* 能 描 述 系统加载 支持口、以太网、文件系统 内存操作 支持内存察看、修改、比较 设备驱动 支持串口、部电自检 自动检测互命令 通过设定和访问环境变量灵活配置系统各项参数,灵活升级 路 径 主要文件描述 /持串口、网口及中断初始化等文件,放了一些公共命令,与内核相关的两个文件是c,放各种外设接口的驱动 /入了支持的文件系统 /放头文件的公共目录,其中波特率、引导参数、物理内存映射等 4 *系统复位后跳转到 r0, /*基本硬件初始化,操作 r0,0 /* r0,0* *初始化一些系统便从*把 *序在r!, /*标地址 r0, /*制长度 _ /*调整堆栈指针顶部 #12 /*跳转到_语言入口函数定义在主要功能是调用一些初始化函数,实现大部分硬件设备初始化和硬件开发板的全局数据结构的初始化。 其中,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号