QNX环境
QNX开发环境和QNX虚拟机都搭建好了,开始写第一个QNX程序。
关于QNX程序开发的最好参考是QNX官网上的pdf书《10 Steps to Developing a QNX Program: Quickstart Guide 》,清晰地说明了如何通过十个步骤开发第一个QNX应用程序。有好心人将它翻译成中文,中文名叫《10步开发一个QNX程序》。《10步开发一个QNX程序》一贴可以轻松地从网上搜索到,而英文的《10 Steps to Developing a QNX Program: Quickstart Guide 》一书可以从QNX官网上下载,再次共享一下QNX官网下载资料的地址:
http://www.qnx.com/download/group.html?programid=20945
因为以上两份资料已经很详细的说明了QNX程序的开发过程,下面就简单说明一下步骤:
环境准备:
1. QNX Neutrino 虚拟机
2. QNX Momentics 开发环境
关于以上环境的准备可以参考之前的博文。
关键步骤:
1. 创建、编译QNX C项目
1.1 在QNX Momentics环境中选择 “File -> new -> QNX C project”。

1.2 在项目创建向导的第一页填写项目名称

1.3 在项目创建向导的第二页选择X86为目标系统,因为我们使用的QNX虚拟机是VMware上运行的系统,使用X86体系的CPU。

1.4 点击“finish”按钮创建项目,创建项目后出现程序编辑界面,如下图:
1.5 编译项目,在左边导航栏中选择项目,点击右键,选择“Build Project”

2. 准备运行环境并调试应用
2.1 获取目标系统的IP,首先启动QNX Neutrino虚拟机,在QNX Neutrino系统中启动terminal窗口,在窗口中使用ifconfig获取目标系统的IP地址。如下图获得的IP是:192.168.201.128。
2.2 启动qconn程序,获取IP地址后同样在terminal窗口中使用qconn命令启动qconn程序。注意qconn程序运行后如果不出错的话没有任何输出,习惯DOS系统中命令运行成功会有提示的同学们需要习惯一下,运行界面如下图:

2.3 在Momentics中配置目标系统。 在Momentics环境中选择项目,点击右键,选择“Rus As -> Run Configuration”, 会出先目标系统配置界面,如下图。在配置界面左边的导航栏中选择“c/c++ QNX QConn(ip)”,点击左上方的“新建”图标,出现目标环境配置界面,需要配置的有:
2.3.1 名称,可以随便取个名字
2.3.2 项目,点击项目栏旁边的“Browse...”按钮,选择你希望调试的应用
2.3.3 应用,选择项目后点击“Search Project...”可以选择指定项目中可以运行的程序,如果之前编译成功的话,会出现两个同名的应用供选择,一个结尾带个g字,一个不带g字。带g字的是带有调试信息的,所以我选择了带g字的。
2.3.4 目标系统,点击目标系统栏右边的“Add New Target...”按钮,会出现目标系统配置界面,填写上一步获取的IP地址即可。

2.4 运行应用,上一步配置完成后,点击“Apply”按钮应用配置,再点击“Run”按钮运行程序,运行结果如下,注意printf输出的内容在Momentics的Console界面中显示出来:

QNX环境的更多相关文章
- Nginx 1.10.2 php 7 环境安装
1.安装编译工具和库文件,红色部分提示在centos镜像站点上查不到包,用yum安装的时候要认真看那些包没有找到,用yum的时候尽量不要使用-y选项 yum install gcc automake ...
- QNX 实时操作系统(Quick Unix)
Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIX(Quick ...
- Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点
Vxworks.QNX.Xenomai.Intime.Sylixos.Ucos等实时操作系统的性能特点 VxWorks操作系统 VxWorks 操作系统是美国WindRiver公司于1983年设计开发 ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- QNX简介<转载>
QNX QNX是由QNX软件系统有限公司开发的实时操作系统. http://blog.csdn.net/happyhell/article/details/7087199 基本特征 * QNX是一个 ...
- Python零基础学习系列之二--Python介绍及环境搭建
1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 : -- u-boo ...
- CentOS裸机环境下安装php-7.3.1
安装步骤如下 安装必要的软件 获取源码 编译安装 安装过程可能遇到的一些问题 编译参数详解 安装步骤如下 安装必要的软件 yum install -y autoconf automake libtoo ...
- 【Python学习】Python3 环境搭建
参考地址:http://www.runoob.com/python3/python3-install.html Python3 环境搭建 本章节我们将向大家介绍如何在本地搭建 Python3 开发环境 ...
随机推荐
- 虚拟机单一网卡设置两个IP
一.在虚拟机里修改虚拟网卡配置 cd /ect/sysconfig/network-scripts/ vi ifcfg-eth0 改BOOTPROTO=static cp ifcfg-eth0 ifc ...
- bzoj1016:[JSOI2008]最小生成树计数
思路:模拟kruskal的过程,可以发现对于所有权值相同的边,有很多种选择的方案,而且权值不同的边并不会相互影响,因为先考虑权值较小的边,权值比当前权值大的边显然不在考虑范围之内,而权值比当前权值小的 ...
- Linux简介及Ubuntu安装
Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...
- 解决ie8不兼容jquery trim问题
/*为原形添加方法*/String.prototype.trimBoth = function() { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...
- Control character in cookie value, consider BASE64 encoding your value , java操作cookie遇到中文会报错的解决方案
项目当中用到cookie保存中文,但是会报如下错误: Control character in cookie value, consider BASE64 encoding your value 大概 ...
- object-c 1
多个参数的写法 (方法的数据类型)函数名:(参数1数据类型)参数1的数值的名字 参数2的名字: (参数2数据类型) 参数2值的名字 …. ; 举个例子,一个方法的定义: -(void) setKids ...
- VisualStudio自定义代码段_方法一
在VisualStudio里,使用代码段会提高我们的编写速度.其实,就是给一段代码加个快捷方式,使用时,快捷方式按键+2次Tab键. 举个例子: 比如输入Console.WriteLine (); 传 ...
- C#中的lock关键字(初识)
http://kb.cnblogs.com/page/88513/ 首先给出MSDN的定义: lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.这是通过在代码块运行期间为给定对象获取互 ...
- UML用户指南--UML图简介
本节和大家一起学习一下UML图,这里主要介绍UML结构图和UML行为图两部分,下面让我们一起看一下UML图的详细介绍吧. UML图 这里再次提到对软件体系结构进行可视化.详述.构造和文档化,有5种最重 ...
- 3224: Tyvj 1728 普通平衡树
Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...