QNX如何构建嵌入式系统概述

QNX系统启动过程:

1.处理器从复位向量开始执行,然后内部程序加载器(IPL)加载系统镜像,并且把控制权交给镜像中的startup启动程序。

2.startup启动程序配置系统,并把控制权交给微内核和进程管理模块。

3.进程管理模块加载其他驱动和应用程序。

 

IPL的作用:

IPL主要负责加载系统镜像,首先简单配置硬件环境以便运行启动程序和微内核,这个过程至少包含以下步骤:

1、从复位向量启动执行

2、配置内存控制器,可能包含片选和PCI控制器

3、配置时钟

4、设置栈以便执行系统验证和设置(镜像下载,扫描启动和跳转)

        一般来说IPL分为冷启动IPL和热启动IPL两种通用类型,对于热启动IPL一些系统配置已经完成,而冷启动IPL需要从头进行

所有的配置,所以热启动IPL的操作是冷启动IPL操作的子集。

 

Startup启动程序的作用:

        系统启动的第二部是配置处理器和硬件,加载系统资源并且启动操作系统,这一部是由startup启动程序完成的。当IPL做了最小

的系统配置让startup启动程序可以工作后,startup启动程序完成所有的配置。为了保持Neutrino内核尽量可配置化,让启动程序可以

配置基本时钟、中断控制器、缓冲控制器等等, 也可以提供内核调用的代码片段来提供硬件相关的功能。例如当一个硬件中断被触发,一些代码必须判定中断源,而一些代码可以清除中断源。

          注意启动程序并不配置类似串口波特率,网络设备等一类设备,这些留给驱动自行解决。一旦西东代码完成初始化并且把系统信息放置在系统可以访问的页区域,启动代码将控制权交给内核和进程管理器,由它们进行下一步的加载。

归纳起来启动代码需要做如下事情:

1、根据需要拷贝和解压系统映像。

2、配置硬件

3、决定系统配置

4、启动内核

根据需要拷贝和解压系统映像

         如果映像不是所有都放在RAM中了,启动代码需要把它拷贝过来。如果镜像是压缩的,启动代码需要自动解压,但是压缩是可选的,你也可以不用压缩,那就免去了解压的过程。

配置硬件

        主要是进行最小化配置,并且决定系统配置,具体操作和硬件平台相关。

决定系统配置

        你可能想要在启动时动态决定配置信息,这部分信息需要启动程序存储在一个精心定义的结构中,以便操作系统启动后可以读取它,众所周知的时系统页区,这写数据结构包含以下信息:

内存配置  硬件设备配置  处理器类型  时间信息

 

建立标注

        为了使内核尽可能的具有可移植性,启动代码有必要建立一定数量的标注,当你写程序时候,不是所有标注都需要,这里通过库来提供其中的一些, Neutrino 可以提供下面标注的功能:

调试接口 时钟/定时器接口 中断控制接口 缓冲控制接口 电源管理 和杂项

 

启动系统

       启动代码的最后步骤是启动操作系统。

启动库

       上面描述了启动过程中的很多工作,QNX提供了一些通用启动程序的源码还创建了可以实现大部分功能的启动库。如果使用QNX已经支持的平台,就很容易了,这里的工作都已经做好。

可以通过下列途径找出QNX当前支持的处理器和开发板:

板级支持 bsp_working_dir/src/hardware/startup/boards

文档startup-* 入口

如果你用的不是标准系统,可以参考和你系统最接近的例子进行修改。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 分布式嵌入式实时操作系统QNX PDF是一款具有高可靠性和实时性的嵌入式操作系统。它采用了微内核架构,在系统内核中只保留了最基本的操作系统服务,其他所有服务都在用户空间中进行。这种架构让QNX PDF具有非常高的稳定性和可靠性,使其可以在一些对安全性和实时性要求较高的嵌入式系统中得到应用,比如航空航天、汽车等领域。 QNX PDF支持分布式系统架构,在多个设备之间进行资源共享和通信,使得设备之间能够进行远程协作,协同完成任务。同时,QNX PDF还具有实时调度、中断处理和任务管理等特性,使得其可以对嵌入式设备中的各种任务进行高效管理和调度。 QNX PDF还拥有良好的软件开发工具支持,包括完整的开发环境、调试器、编译器等,可以支持开发人员快速进行开发和调试,同时还提供了很多开发库和工具,使得开发人员能够更加高效地完成开发任务。 总的来说,QNX PDF是一款面向嵌入式实时应用的高可靠性操作系统,具有分布式系统架构和良好的开发工具支持,适合应用于对安全性和实时性要求较高的各种嵌入式系统中。 ### 回答2: QNX是一种现代的、分布式的嵌入式实时操作系统,可以在多种硬件平台上运行。它是一种高性能、可靠性高的实时操作系统,可以支持多任务处理、多线程处理等重要特性。 该操作系统的特点在于其微内核架构,其中内核只有几百KB的大小,因此可以让应用程序占用更少的内存,并提高硬件利用率。QNX还拥有横向扩展能力,可以通过新组件的添加来提高系统的功能和性能。 QNX操作系统有多种应用场景,包括汽车、飞机、医疗设备等许多领域。在这些场景中,QNX被广泛地应用于控制系统、网络通信、图形化界面等关键任务中,这些任务的实时性和安全性要求非常高。 对于开发人员而言,QNX极大地简化了程序的开发和维护。它提供了一个完善的开发者工具包,包括编译器、调试器和IDE集成开发环境,可以让开发人员更高效地开发应用程序。 总之,QNX是一款可靠性高、性能优异的嵌入式实时操作系统,适用于多种应用场景。它的微内核架构和横向扩展能力使其具备更高的可定制性和适应性,可以帮助开发人员更有效地开发实时应用程序。 ### 回答3: QNX是一个分布式嵌入式实时操作系统,具有高可靠性、高性能、可扩展性和安全性等特点。作为一款实时操作系统,它受到了很多行业的青睐和广泛应用,如汽车、航空航天、医疗设备和工业控制等领域。 作为一个分布式操作系统,QNX主要依赖于微内核结构、进程间通信和分布式文件系统等技术来实现分布式系统的管理和控制。它支持对多种硬件平台和设备的管理,并且具有高效的资源管理和调度能力,可以确保多个任务同时运行而不会出现系统瘫痪等问题。 在安全性方面,QNX提供了多种安全性保障机制,如访问控制、加密和身份验证等,可以有效地保护系统和数据的安全。 但与此同时,由于QNX是一款商业化的产品,其授权费用较高,且开发难度相对较大。因此,它主要被应用于对系统可靠性和数据安全性要求较高的领域,而在一般的嵌入式系统中应用较为有限。 总体来说,QNX是一款优秀的分布式嵌入式实时操作系统,其高可靠性、高性能、可扩展性和安全性等特点使其在特定的应用场景中具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值