如何访问 QNX 中的硬件?

How to access the hardware in QNX?

本文关键字:硬件 QNX 何访问 访问      更新时间:2023-10-16

我在机器上安装了 QNX。问题是,嵌入式系统还必须能够访问硬件、端口管理等。这在 QNX 中是如何实现的?在什么方向学习?到目前为止,我发现这是文件,目录,用户,组等的组织。或者我不了解系统的工作原理

注意:我在底部的代码示例上放了一个链接。

我试图用Linux and QNX之间的差异来解释它.

QNX是一个RTOS,其kernel可以称为Neutrino KernelKernel只是与H/W相互作用的裸骨,是任何operating system的核心,但OSapplication softwareKernel组成,它们unison地工作以达到computer system的目的。

Linux本身只是一个KernelGNU/Linux是一个完整的OS

Linux是基于monolithic architecture而QNX是Micro Kernel

Monolithic kernel:所有OS service都与kernel main thread一起运行,因此居住在同一个memory中。Monolithic kernels更容易实现,但某些部分(如driver)的bug可能会降低整个系统。

更多咆哮:

QNX是基于realtime OS的完整microkernel,而Linux是一个monolithic kernelQNX可以在许多Embedded platforms上运行,例如在有satnavmusic controls的汽车的mini computers上运行。(吉普切诺基),SCADA systems.应用程序构建frameworkX11有很大不同,或者Wayland你上Linux。如QNX GUI所示,它更接近骨骼和金属。

示例:Linux如果你想在屏幕上画一个圆圈,这将经历许多抽象层,如X11QNX事物采取更直接的路线,使其在小芯片上更快,这会导致丢失大部分networky的东西,X11使Linux成为可能。

QNX有点开箱即用,支持framework制作embedded systems,而GNU/LINUX与此相反。

事情Real Time方面是关于timely responsesaccuracy of the response的。

查看此处以了解coding所需的QNX和不同部件。

QNX示例代码可以在这里找到。

QNX SDP 7 的文档 http://www.qnx.com/download/group.html?programid=29184 - 您需要登录才能访问它(如果您还没有帐户,请创建一个帐户)。

QNX 中微子系统架构指南是必读的。

总的来说,系统启动(请参阅构建嵌入式系统)和提供系统服务的进程(编写资源管理器)都需要硬件访问。首先,您将考虑拥有足够的权限来访问端口、附加中断处理程序以及将硬件资源映射到程序的地址空间,然后创建初始化例程、中断处理程序(QNX Neutrino 实时操作系统程序员指南)以及各种形式的事件响应程序,这些响应程序在被中断处理程序解锁时在资源管理器进程内的线程中运行。QNX 中微子食谱给出了一些例子。在库参考和搜索示例时查找 mmap* in* out* shm* 等函数。

但是,首先学习并真正学习系统架构,如果不了解架构和相关术语,就很难找到绕过其余文档的方法并理解它。

玩得愉快!