QNX启动

QNX启动相关知识说明


QNX系统的启动一般会涉及到IPL、Startup脚本以及OS,可能还有额外的驱动程序或实用程序等

QNX启动组件

通常硬件的初始化是由bootloader完成,如:arm架构一般由u-boot,x86架构一般是BIOS或UEFI完成,但QNX的硬件初始化程序称为IPL(Initial Program Loader),但功能与uboot和bios类似。QNX系统启动时序主要有3个主要的组件组成,其一为上述中的IPL,其二为startup程序,其三为OS image。
备注:startup program和OS image均被包含在OS镜像文件中。

QNX启动时序

现在我们就来详细说一下QNX的具体的启动流程。
QNX启动时序
我们根据上图的启动流程来描述一下每一步实现的具体工作任务。
1.硬件初始化,在硬件上电之后由硬件及固件自身进行检查和初始化任务,之后将执行权限交给预先设定的相应位置的软件。该预设的软件通常为处理器开始执行的物理地址的首地址,即经常所说的复位向量。在ARM的架构中该地址通常为0x00000000,x86的架构中该地址通常为 0xFFFFFFF0。
2.IPL执行能够运行startup程序和QNX内核并能加载镜像文件的环境所需的最小的硬件环境的配置,完成上述配置后,IPL将执行权限交给startup程序。
3.startup程序进行系统的配置,如时钟,中断控制器,内存控制器的配置等。完成上述配置后,startup程序将执行权限交给系统kernel(procnto)。
4.OS kernel被包含在Procnto模块中。该模块包含kernel和进程管理器,该模块设置os,之后运行buildfile文件内的指令,该文件中包含驱动程序和应用程序的启动指令以及一些额外的必须运行的一些组件的启动指令。
5.buildfile中除了包含上述的指令外还包含:
1)、生成镜像文件时要打包进镜像中的文件;
2)、可执行程序的启动顺序;
3)、可执行程序和文件加载时所需的参数;
4)、可执行文件的命令行参数以及环境变量;
在上述buildfile中所有的命令都运行完成后,该系统就启动完成了。
6.SLM(System Launch and Monitor)被用于启动包含多个且必须按照一定的规则顺序启动的复杂的应用程序。SLM可允许你进行配置启动的规则顺序而无需修改buildfile文件。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

去你妹起个名字真难

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值