学习QNX有一段时间了,应该回过头总结一下学习过程,理一理思路,为下一步学习理清方向,同时也可以给各位共同学习的朋友(我心中“同学”的概念)提供参考。
看一看自己的文章和目前学习的内容,发现QNX学习涉及了两个大的方面,一方面是QNX平台的使用以及QNX平台上的开发工作,另一方面是QNX平台本身的开发以及底层的软硬件原理。对于一个学习者来说,这两方面其实可以比较独立的。这也就是为什么我在标题中将它说成是“分水岭”的原因,学习者完全可以根据自己的技术积累,兴趣,工作性质选择其中一方面着重进行学习。
先看看QNX平台的使用和QNX平台上的开发工作,也就是平台之上。因为QNX为不同的CPU(X86,ARM,。。),不同的开发板(如我使用的BeagleBoard)提供了对应的BSP(board support package ),向上提供了统一的API以及使用界面(Shell 或者是Photon),所以QNX的使用者和开发者都不需要详细了解底层的信息。也就是说QNX平台屏蔽了不同硬件平台的差异,向上提供了统一的编程接口和使用界面。如果我们是为QNX系统开发应用的开发人员,我们不需要去了解硬件平台上是使用了X86的CPU还是ARM的CPU,我们只需要掌握c\C++,掌握QNX的API就好了。
以我个人的认识,实际上QNX系统不会有太多直接的使用者,大多数QNX用户都是通过QNX上层开发人员开发的界面操作QNX的,对他们来讲QNX可能就是车载系统的显示屏和几个按钮而已,甚至他们根本没听说过QNX。所以这里只讨论QNX上层开发人员需要学习的内容。
首先,如果你只是在QNX平台上开发应用,你不需要一个开发板,QNX Momentics和QNX 虚拟机已经足够了。
QNX上层开发人员需要做的是安装QNX Momentics和QNX 虚拟机,抱着QNX官网上的文档好好学习(天天向上)。至于学习的范围,《System Architecture》之类的需要先读一读,但不需要深入,主要学习的是《Getting Started with QNX Neutrino》和《QNX Programmer’s Guide》这两本,再备上《QNX Library

这篇博客介绍了QNX学习的两大方向:平台之上的应用开发和平台之下的系统构建。对于QNX上层开发者,重点是掌握QNX API,阅读官方文档,而底层开发者则需要熟悉BSP、硬件驱动和系统裁剪。QNX的开源特性使得深入学习成为可能,但选择学习方向取决于个人兴趣和技术需求。
最低0.47元/天 解锁文章
1274

被折叠的 条评论
为什么被折叠?



