十步开发第一个QNX Neutrino 程序

当然,这是根据QNX官方英文文档 A_Quickstart_Guide.pdf 翻译总结过来的。
官方文档下载地址:http://www.qnx.com/download/feature.html?programid=26166

QNX Neutrino开发的十个简略步骤:

1. 准备

首先,我们需要从官网上下载开发包,下载地址:
http://www.qnx.com/products/evaluation/

需要下载三个文件:SDK、SDP、VM虚拟镜像
我已下载好了三个文件:
qnx-sdp-6.6-201402230339.exe
qnx-sdk-for-apps-and-media-1.1-201503251644.exe
VM-QNXSDP660-201402230339.iso
(由于我这里没有实际硬件,采用虚拟机运行,所以不需要下BSP)

2. 安装SDP在开发主机上

sdp和sdk两个exe文件下一步下一步安装就好了,所需的license可在官网上申请。
安装好后,你桌面上应该会有一个IDE工具:QNX Momentics IDE 5.0

3. 安装QNX Neutrino RTOS

安装一个VMware,用刚才下的VM-QNXSDP660-201402230339.iso安装好QNX的虚拟系统。

4. 配置QNX Neutrino RTOS的网络

启动后会自动以root登录,然后看一下IP(这个IP后面要用到)。ping一下主机。QNX是由linux演变而来,所以很多命令和linux下一样。
十步开发第一个QNX Neutrino 程序_第1张图片

5. 创建一个工程

打开QNX Momentics IDE 5.0
FileNewProject…. 在新的窗口中,展开QNX, 选择QNX C Project
十步开发第一个QNX Neutrino 程序_第2张图片
Next
十步开发第一个QNX Neutrino 程序_第3张图片
十步开发第一个QNX Neutrino 程序_第4张图片
我的程序是在虚拟机中用,所以选择的是X86,如果在硬件板卡系统上用,就勾选ARM v7。记得勾上debug方便调试。
Finish
十步开发第一个QNX Neutrino 程序_第5张图片

6. 与QNX Neutrino RTOS通讯

在虚拟机中用命令 pidin 看一下 qconn 程序有没有运行,如果没有运行就手动启动一下 qconn &

在IDE中 WindowOpen Perspective
QNX System Information.

在Target Navigator view 中右键,选择 New QNX Target…
十步开发第一个QNX Neutrino 程序_第6张图片
十步开发第一个QNX Neutrino 程序_第7张图片
IP就写虚拟机的IP。
十步开发第一个QNX Neutrino 程序_第8张图片

7. 编译

十步开发第一个QNX Neutrino 程序_第9张图片
回到工程界面。

在工程上右击选择 Properties,可查看当前平台和编译模式,确保X86和debug都勾选上了。
十步开发第一个QNX Neutrino 程序_第10张图片
在工程上右击选择 Build Project,即完成了编译。

8. 准备运行程序

Debug Configurations..
十步开发第一个QNX Neutrino 程序_第11张图片

New launch configuration
十步开发第一个QNX Neutrino 程序_第12张图片

确保你的目标虚拟机系统在 Target Options
十步开发第一个QNX Neutrino 程序_第13张图片
C/C++ Application:
带-g的是debug模式,不带-g的是release模式。

9. 开始调试

在上一步配置好后,下面有一个按钮 Debug
默认会有main的第一行断点停住,继续往下调试
十步开发第一个QNX Neutrino 程序_第14张图片
直到下面console中会出现程序中的打印。

你也可以编译 Release 版放到QNX虚拟机中跑。
WindowShow ViewTarget File System Navigator
出现虚拟机中的这个文件系统列表
十步开发第一个QNX Neutrino 程序_第15张图片
就可以把release编译出来的文件放到文件系统中。
再在QNX虚拟机中运行:
十步开发第一个QNX Neutrino 程序_第16张图片

10. 创建你自己的程序

了解以上步骤,就可以慢慢查看帮助文档开发自己的程序啦!
十步开发第一个QNX Neutrino 程序_第17张图片

你可能感兴趣的:(QNX)