首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问QNX中的硬件?

如何访问QNX中的硬件?
EN

Stack Overflow用户
提问于 2017-10-12 12:02:11
回答 2查看 1.5K关注 0票数 4

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-12 12:51:13

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

我试着用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 OSmicrokernel,而Linux是一个monolithic kernelQNX可以在许多Embedded platforms上运行,比如在有satnavmusic controls(吉普切罗基),SCADA systems的汽车上运行。构建framework的应用程序与X11或在Linux上获得的Wayland有很大不同。如QNX GUI所示,它更接近骨和金属。

示例:在Linux中,如果您想在屏幕上画一个圆圈,这将经过许多抽象层,比如X11,在QNX中,事情会采取一种更直接的路线,这使得它在一个小芯片上更快,这将导致将X11Linux上可能实现的大部分networky东西丢失到Linux上。

QNX有点出格,支持framework来制作embedded systems,vs GNU/LINUX则与此截然相反。

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

查看这里以了解QNXcoding所需的不同部分。

QNX示例代码可以找到这里

票数 6
EN

Stack Overflow用户

发布于 2017-10-13 00:59:24

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

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

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

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

玩得开心!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46709115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档