QNX实时操作系统学习笔记之嵌入式系统.docxVIP

QNX实时操作系统学习笔记之嵌入式系统.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QNX 实时操作系统学习笔记之嵌入式系统(一) (2011-03-21 08:31:28) 转 载 一、开发嵌入式系统概述 1.简介 本节将从整体的角度来介绍开发一个完整的基于 Neutrino 嵌入式系统的步骤, 首先,将会看运行一个 Neutrino 系统所需要的部件。接下来会看这些部件和他 们如何操作,最后,将会学习配置某些部分时要完成的步骤。 从软件的角度,当系统启动时下列流程将会发生: 处理器开始从复位向量执行代码。初始化程序装载(IPL)会将 OS 镜像装 载并传递控制到镜像中的 startup 程序。 startup 程序配置系统并传送控制到 neutrino 微内核和进程管理器 (procnto)。 procnto 模块装载附加的驱动和应用程序。 2.IPL 的角色 软件执行的第一步便是装载 OS 镜像。这是由 IPL 来完成的。 IPL 的初始化工作是以最简的方式配置硬件来产生一个允许 startup,进而是 neutrino 微内核程序执行的环境。特别地,这个工作至少包含以下几步: 从复位向量开始执行; 配置存储控制器,这可能会包含配置芯片选择和(或)PCI 控制器 (Peripheral Component Interconnect,一种由 英 特 尔( Intel)公司 1991 年 推出的用于定义局部 总 线的标准)。 配置时钟。 设置一个堆栈来允许 IPL 库执行 OS 认证和启动(镜像下载、扫描、启动、 jump) 3.IPL 的热启动和冷启动 IPL 有两种类型:热启动和冷启动。热启动 IPL 是由 ROM 监视器或 BIOS 激活, 硬件和处理器配置的某些部分已经被启动。 另一方面,冷启动 IPL 则是在任何部分都没有被配置或初始化——CPU 和硬件 刚刚被复位。一般来说,在热启动中需要完成的工作都是在冷启动 IPL 中的子 集。 在最后我们将讨论 IPL 的责任,并描述在镜像的第一个部件启动前全部就绪的 状态。根据目标的设计,要完成的步骤可能从 0(例如,在一个带有 ROM 监视 器或 BIOS 的标准平台上运行,并且已经通过 disk 或 network boot 完成了 IPL 热启动;引导 ROM 已经完成了下面描述的工作)到很多步(例如,一个不带有 firmware[泛指直接控制硬件的软件,也指固化在硬件中用来控制硬件的软件, 比如 BIOS]的嵌入式系统,镜像是在一个特定的硬件中存储)。 最后的状态(镜像的第一个部件开始运行前)具有以下的特性: 存储控制器已经配置为允许系统中的存储进入。 最基本的硬件配置已经完成(例如,芯片选择 EPROM 的信息已经被程序化) 整个镜像已经被放在线性可寻址的存储空间。 镜像的第一部分,startup,现在应该在 RAM 中(注意到 startup 代码相 对很小,当 startup 代码完成后 RAM 区域将被重新声明) 不管是 IPL 或 BIOS/ROM 监控器代码都负责将镜像传送到线性可寻址存储空间。 OS 镜像必须以一种 IPL 或 ROM 监视器代码能够理解的方式开发,以使它能知道 该把镜像放在哪里,镜像装载之后应该把控制送到什么地址。 例如,一个 IBM PC BIOS 系统通常装载一个原始的二进制,然后跳转到第一个 地址。其他的系统可能接受 ELF 格式【 Executable and Linkable Format,可 执行连接格式,是 UNIX 系统实验室( USL)作为应用程序二进制接口 (Application Binary Interface, ABI)而开发和发布的。扩展名为 elf。】 的镜像,用 ELF 头文件信息来决定镜像和启动地址放置的位置。参考你的硬件 资料确定 IPL 可以接受的镜像格式。 一旦 IPL 已经装载了镜像,整个镜像已经处于线性可寻址存储空间,控制也被 传送到 startup 程序。此时,IPL 已经完成了使命。 4.startup 程序的角色: 软件执行的第二步是配置处理器和硬件,检测系统资源,启动 OS。这些是由 startup 程序完成的。 当 IPL 完成了基本的最小配置,使系统到一个 startup 程序可以运行的状态, startup 程序的任务是结束配置。如果 IPL 检测到不同的资源,它可能与 startup 程序交流这个信息(这样它就不会重复检测相同的资源)。 为了使 neutrino 能够尽量可配置,我们已经使 startup 程序可以编写基本定时 器、中断控制器、缓存控制器等等程序。它也可以提供 kernel callouts,它 们是内核可以调用来执行硬件具体化功能的代码片段。例如,当一个硬件中断 被激发,代码的一些片段必须决定中断源,而另一些代码片

文档评论(0)

dashifuniu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档