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环境的更多相关文章

  1. Nginx 1.10.2 php 7 环境安装

    1.安装编译工具和库文件,红色部分提示在centos镜像站点上查不到包,用yum安装的时候要认真看那些包没有找到,用yum的时候尽量不要使用-y选项 yum install gcc automake ...

  2. QNX 实时操作系统(Quick Unix)

    Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIX(Quick ...

  3. Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点

    Vxworks.QNX.Xenomai.Intime.Sylixos.Ucos等实时操作系统的性能特点 VxWorks操作系统 VxWorks 操作系统是美国WindRiver公司于1983年设计开发 ...

  4. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  5. QNX简介<转载>

     QNX QNX是由QNX软件系统有限公司开发的实时操作系统. http://blog.csdn.net/happyhell/article/details/7087199 基本特征 * QNX是一个 ...

  6. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

  7. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boo ...

  8. CentOS裸机环境下安装php-7.3.1

    安装步骤如下 安装必要的软件 获取源码 编译安装 安装过程可能遇到的一些问题 编译参数详解 安装步骤如下 安装必要的软件 yum install -y autoconf automake libtoo ...

  9. 【Python学习】Python3 环境搭建

    参考地址:http://www.runoob.com/python3/python3-install.html Python3 环境搭建 本章节我们将向大家介绍如何在本地搭建 Python3 开发环境 ...

随机推荐

  1. 虚拟机单一网卡设置两个IP

    一.在虚拟机里修改虚拟网卡配置 cd /ect/sysconfig/network-scripts/ vi ifcfg-eth0 改BOOTPROTO=static cp ifcfg-eth0 ifc ...

  2. bzoj1016:[JSOI2008]最小生成树计数

    思路:模拟kruskal的过程,可以发现对于所有权值相同的边,有很多种选择的方案,而且权值不同的边并不会相互影响,因为先考虑权值较小的边,权值比当前权值大的边显然不在考虑范围之内,而权值比当前权值小的 ...

  3. Linux简介及Ubuntu安装

    Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...

  4. 解决ie8不兼容jquery trim问题

    /*为原形添加方法*/String.prototype.trimBoth = function() { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...

  5. Control character in cookie value, consider BASE64 encoding your value , java操作cookie遇到中文会报错的解决方案

    项目当中用到cookie保存中文,但是会报如下错误: Control character in cookie value, consider BASE64 encoding your value 大概 ...

  6. object-c 1

    多个参数的写法 (方法的数据类型)函数名:(参数1数据类型)参数1的数值的名字 参数2的名字: (参数2数据类型) 参数2值的名字 …. ; 举个例子,一个方法的定义: -(void) setKids ...

  7. VisualStudio自定义代码段_方法一

    在VisualStudio里,使用代码段会提高我们的编写速度.其实,就是给一段代码加个快捷方式,使用时,快捷方式按键+2次Tab键. 举个例子: 比如输入Console.WriteLine (); 传 ...

  8. C#中的lock关键字(初识)

    http://kb.cnblogs.com/page/88513/ 首先给出MSDN的定义: lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.这是通过在代码块运行期间为给定对象获取互 ...

  9. UML用户指南--UML图简介

    本节和大家一起学习一下UML图,这里主要介绍UML结构图和UML行为图两部分,下面让我们一起看一下UML图的详细介绍吧. UML图 这里再次提到对软件体系结构进行可视化.详述.构造和文档化,有5种最重 ...

  10. 3224: Tyvj 1728 普通平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...