QNX学习10步开发一个QNX程序QNX官方文档翻译.docx

上传人:b****8 文档编号:8913395 上传时间:2023-05-16 格式:DOCX 页数:19 大小:2.84MB
下载 相关 举报
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第1页
第1页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第2页
第2页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第3页
第3页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第4页
第4页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第5页
第5页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第6页
第6页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第7页
第7页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第8页
第8页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第9页
第9页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第10页
第10页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第11页
第11页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第12页
第12页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第13页
第13页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第14页
第14页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第15页
第15页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第16页
第16页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第17页
第17页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第18页
第18页 / 共19页
QNX学习10步开发一个QNX程序QNX官方文档翻译.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

QNX学习10步开发一个QNX程序QNX官方文档翻译.docx

《QNX学习10步开发一个QNX程序QNX官方文档翻译.docx》由会员分享,可在线阅读,更多相关《QNX学习10步开发一个QNX程序QNX官方文档翻译.docx(19页珍藏版)》请在冰点文库上搜索。

QNX学习10步开发一个QNX程序QNX官方文档翻译.docx

QNX学习10步开发一个QNX程序QNX官方文档翻译

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第一步

原文地址:

写在QNXNeutrino实时操作系统下运行的程序,首先你需要的是QNX软件开发平台(SDP)。

这个包括QNXMomenticsToolSuite,包含你开发运行在QNX操作系统下程序所需要的每样东西:

编译器、链接器、库和其他QNX操作系统组件,预编译给所有QNX操作系统支持的CPU架构。

在windows和linux操作系统上,toolsuite是一个广泛整合的开发平台(IDE)。

你能安装QNXSDP在一个QNXNeutrino实时操作系统用于自平台开发,或者你能安装它在windows或linux系统上:

开发主机运行QNXMomenticsToolSuite;目标机运行QNX系统加上你将开发的所有程序:

如果你没有QNX软件开发平台DVD,你可以现在一个验证版本在如果你只想验证QNX在X86架构上,你可以下载QNXSDP安装和启动CD。

DVD包含了各个平台的安装。

你有一些目标系统的选择运行QNX系统:

PC目标机:

你能安装开发平台的自主机版本在一个有一个大概3.0GB分区的普通PC。

(procnto微内核只要求700KB;可添加可选择组件到上面,你能创建每个东西从小型嵌入式系统到全桌面实时系统那个只要求300MB)安装系统不损坏任何存在的分区。

你也能启动QNX直接从DVD或者CD,在你没有足够空间的情况下。

其他硬件:

你能运行QNX在一个参考平台一个参考设计由CPU厂商(PPC,ARM,MIPS或者SH)。

你将需要一个QNX板级支持包BSP用于你的平台。

BSP的文档解释了如何安装操作系统到这些目标机上。

更多关于BSP的信息访问。

虚拟机:

你可以安装和运行QNX实时系统在一个虚拟机上。

即使VMware是一个便利的方法来尝试系统,你应该注意虚拟机不支持硬实时。

QNX被设计为同样的方式对于所有的平台且被使用在同一方法下,对于这个快速开始向导我们将使用windows作为一个开发主机,一个x86虚拟机作为目标机。

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第二步

这里我们要安装QNX软件开发平台在主机上。

启动主机系统后(windows系列)且插入QNXSDP的光碟。

如果安装没有自动开始,就运行程序qnxsdp-6.5.0-nnnnnnnnnnnn-Win32.exe(nnnnnnnnnnnn表示建立编号),这个程序一般在光盘的根目录下。

你将被安装向导引导。

关于这个更多的信息,见InstallationGuide。

这个安装程序将询问你要一个licensekey。

如果你下载一个验证版本的QNXSDP从官网上,你会收到一封电子邮件(包含了key)。

另外,你会找到你的key在光碟的盒子上。

安装完成后,你将找到一个图标对应QNXMomenticsIDE在你的windows桌面上:

注意:

qnxsdp-6.5.0最好安装到C盘,安在其他盘编译BSP会不通过,期待高手解决

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第三步

接下来,设置你的QNXNeutrinoRTOS目标系统:

PC目标:

插入QNXSoftwareDevelopmentPlatformQNXNeutrinoRTOSHostDVD或者InstallandBootCD(x86Targets)在你的第二个机器的光驱里且从它启动。

如果你没有这个盘,你科下载一个评估版本从。

在这里,你能选择直接的从DVD或者CD启动系统(用于初始化测试)或者安装QNXNeutrinoRTOS在你的硬盘上。

请悬着安装到硬盘且按照屏幕上介绍来。

更多的描述,见安装向导。

虚拟机目标:

DVD安装盘包含了一个VMware映像用于VMwareWorkstation7或者Player3。

如果你没有安装DVD,你可下载VMware映像于。

你也可启动一个虚拟机从一个QNXNeutrino的ISO映像:

虚拟机里的到CD/DVD光驱设置页,选择UseanISOimage,浏览ISO映像,重启你的虚拟机器,且安装QNXNeutrino。

在重启后,你的硬件将自动被检测。

如果你选择了图形模式,你能作为root用户登录而不需要密码。

注意你的机器的IP地址在屏幕的右边;你将在后面需要它。

你现在在预设置的前面,完整特性的QNXNeutrinoRealtime系统包含QNXPhotonmicroGUI窗口系统。

(当然你也可以不需要图形模式运行该系统。

)在屏幕右边,你将找到一个图标栏。

从这里,打开一个shell由打开Utilities组且按下Terminal按钮。

查看在你系统中的进程列表,输入pidin|less。

各个进程是可选的,意味着在你的设计中,你可以移除进程来节省资源——或者你能添加其他进程来增长系统的功能。

这个应用于图形,网络,或者音频;各个QNXNeutrinoRTOS组件是一个单独进程你能动态的读取。

输入q来推出less命令。

在安装了系统后,你能容易的自己熟悉许多QNX功能和特性。

所有这些不需要你自己创建和配置一个启动镜像!

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第四步

现在连接你的QNXNeutrinoRTOS机器(你的目标机)到网络上。

你的开发机应该在同样的网络上。

如果DHCP服务可用,你的QNXNeutrinoRTOS机器将自动接收一个IP地址。

你能观察你的IP或者改变它使用ifconfig命令,如果UilitiesReference里的描述。

可选择的,你能使用来自QNXNeutrinoRTOS安装的网络配置工具。

你将找到它在右边屏幕的图标栏的Configure条目下,或者在Launch目录。

在Devices选项卡下,你能选择使用DHCP或者手动分配IP地址。

在Network选项卡下,请输入网关和DNS的IP地址。

在你的Windows开发主机上,打开一个cmd窗口使用ping命令来检查你的Windows开发主机能否到达你的QNXNeutrinoRTOS系统(目标)在网络上:

在同样的cmd窗口里,使用ipcinfig来确定你的主机IP地址。

在目标系统,使用这个IP来确定你的目标机能ping通你的主机:

注意:

如果你的主机使用防火墙,你可能不能ping不通它。

在WindowsXP上你也许不得不允许Allowincomingechorequest在ICMP设置里。

如果网络没有在你的目标机上工作,你也许使用了一个没有被QNX支持的网络卡。

要查看一个完整的支持硬件列表,访问。

如果你有更多问题关于硬件支持,请联系你的销售商。

Hint:

完整的QNXNeutrinoRTOS安装包使用自动硬件检测来开启相应的设备驱动。

使用enum-devices–n命令,你能看见何种硬件被枚举探测且何种驱动被开启在启动中。

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第五步

在你的开发主机上打开QNXMomenticsIDE。

第一次打开IDE,它会询问你选择一个工作空间,一个能存放你的工程和其他文件的文件夹。

IDE随后显示它的欢迎页面。

当你准备开始,点击Workbench图标:

现在创建一个QNXC工程:

从File菜单选择New>QNXCProject:

在弹出来的窗口中,给你的工程命一个名字。

确保Generatedefaultfile被选中,保留Addprojecttoworkingset不被选中,点击下一步。

你现在需要选择一个CPU架构。

选择BuildVariants选项卡。

对于PC目标,选择x86。

对于其他处理器上工程,选择正确的CPU类型:

PPC、SH、ARM、MIPS。

你也能选择编译和/或debug信息;我们两个都选择,确保debug和releasvariants被同时选上。

点击Finish按钮。

一个有Makefile的准备使用的工程结构被创建,包含一个小程序(“WelcometotheQNXMomenticsIDE”),你将找到在一个自动生成的资源代码文件里。

现在这个IDE选择了C/C++perspective,带有导航、编辑和其他有用的视图、区域来显示关于这个任务的信息:

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第六步

你的目标系统必须能响应来自开发平台的请求(例子:

比如你在windows下运行开发平台,那么你也要将安装了QNX的目标机要能使用网络连接你的开发平台,不然程序无法调试)。

要让这个成为可能,在目标机下开启程序qconn。

在一个PC运行QNXNeutrinoRTOS的时候,你能使用一个终端窗口来做这些。

从IDE访问你的目标机,你必须创建一个目标工程。

打开SystemInformationprespective:

在Window菜单,选择OpenPerspective>QNXSystemInformation。

在空的TargetNaviga视图中,点击右鼠标按钮且选择菜单栏中的NewQNXTarget。

如果你希望,你能不检查Sameashostname和提供一个名字给你的目标系统。

输入它的IP地址在相应的域。

点击Finish,然后选择你的新目标在TargetNavigator。

你将看见一个在你的QNXNeutrinoRTOS系统里的所有处理器列表。

这个视图(顶层的标签)提供其他信息给你。

你能找到更多有用的视图在ShowView下的Window菜单里。

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第七步

现在选择在工具条右边的图标回到C/C++perspective。

在你编译之前,你也许想选择编译时显示或不显示debug信息。

为了做这个,右击工程名在ProjectExplorer视图里,然后选择Properties。

点击QNXC/C++Project,选择BuildVariants,然后展开x86选项。

确保debug和releasevariants被选择。

点击OK;IDE重建工程。

在QNXCProject创建期间,产生一个QNX-made路径结构的Makefiles。

现在创建一个binary,右击工程名,然后选择BuildProject。

编译器和链接器将开始它们的工作。

你将找到编译器的输出在Console视图里的C-Build输出,包括任何错误(你不应该看见任何错误,但是我们在下面的例子中添加了一个)。

但是,如果错误发生在编译期间,你将发现Problems视图更加的有用,因为它显示编译器的输出在一个解释的和比Console视图更加可读的方式。

Editor视图也给你关于一个错误的信息如果你遗留了指针。

在组建工作后,你的binaries将被显示在Binaries文件夹。

实际上,它们位于CPU路径在“o”(object)和“o-g”(-g表明编译器带debug功能)。

IDE自动创建相关Makefile。

QNX库libc.so,包含了许多基本功能,默认同步链接到你的binary。

如果你想添加其他库,你能做这个在Project>Properties选项下。

来自这里,点击QNXC/C++Project,然后链接,然后选择ExtraLibraries在Category下拉框:

点击Add,输入库的名字,不要带有lib前缀或者扩展名。

例子,添加数学库,libm.so,你只需输入m在文本框:

点击OK。

链接器将链接库当你组建工程时候。

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第八步

运行和debug新组建的程序在你的目标机上,你需要创建一个launchconfiguration。

它包含影响一个程序如何开始的设置变量(例子:

command-line参数,环境变量)。

你设置一次,然后你就可以重复使用这些设置。

现在创建你自己的launchconfiguration:

从工具条上的“bug”图标的旁边下拉菜单,选择DebugConfigurations…:

一个图表窗口会打开,这里你能开始运行运行配置,改变它们,或者创建新的。

在左边,选择C/C++QNXQConn(IP)。

这个运行配置的类型意味着对于在目标机上运行着QNXNeutrinoRTOS的基于网络(交叉)开发,使用qconn程序。

现在点击Newlaunchconfiguration图标:

你现在的所有提交的配置会全部用于处理开启你的可运行程序。

现在,只有Main标签需要你的输入。

但是,你也应该注意其他标签必须提供的。

如果你希望,你能改变默认配置名字在图表的顶层。

然后点击Project旁边的Browse…按钮,选择你的工程。

下一步到C/C++Application,点击SearchProject按钮选择你的binary。

编译带debug信息的binary名字包含一个_g的后缀。

我们会开启Debugger在下一步,请选择binarywiththedebuginformation。

点击OK。

确保你的目标系统在TargetOptions下被列表,然后点击Apply这个运行配置现在就准备好了:

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第九步

你应该还在Debug运行配置图表里。

你创建一个配置来运行你的程序,你现在能在debugger里开始。

来做这个,点击Debug。

这个IDE现在选择Debug透视和通过网络传输你的程序从开发机器到你的目标QNXNeutrinoRTOS系统,然后在debugger的控制下开始。

你将看见debugger停止在你的程序的第一行。

在Debug视图,你将看见你的进程的概貌,包含调用的栈。

使用在Debug视图的主工具条的按钮,你能控制debugger。

当你运行或者debug你来自于IDE的应用,任何输入从IDE的控制台读取,且任何输出也到控制台上。

当上图的程序运行过printf()的函数调用后,你应该看见“WelcometotheQNXMomenticsIDE”信息在控制台窗口。

使用StepOver按钮,你能跳到下一行代码。

在debug期间,你能观察右边变量(Variables)视图,显示了你的变量的改变。

你能使用StepInto按钮来让debugger运行到函数的代码里去(当然,只有你有这个函数的源代码的时候才会有用)。

设置一个断点,放置鼠标指针在资源显示的左边界,按下鼠标右键选择菜单中的ToggleBreakpoint。

这个断点看起来像一个小圆圈,你也可以设置或者移除当你写你的代码的时候。

当运行中的程序遇到一个断点,在debug中会停下来,这时你能,例如,解释你的变量。

如果你点击Resume按钮,你的程序继续运行直到下一个断点。

忽略程序执行,使用Terminate按钮。

在程序结束运行后,你能使用RemoveAllTerminatedLaunches按钮来清除所有来自于Debug视图的终端运行。

注意:

debug保持工程的文件打开当程序在运行的时候。

在你尝试重建你的工程之前确保debug被终止,否则组建会失败。

要独立的运行你的程序(没有debug),打开Run图标旁的下拉菜单选择RunConfigurations…:

然后你能使用运行配置(在上一步中有描述)来开始你的程序。

或者创建一个新的运行配置且选择不带debug信息的二进制生成。

你也能使用系统信息透视的目标文件系统导航(Window>ShowView)来手动传输你的二进制,然后双击运行它(或者右击它选择Run)。

可以将二进制保留在一个共享的网络驱动盘中,连接驱动盘在你的QNXNeutrino目标(见QNXNeutrinoRTOS单元描述里的fs-cifs条目),从那里运行二进制。

QNX学习——10步开发一个QNX程序(QNX官方文档翻译)——第十步

转换这个默认程序到你自己的QNX程序中,你能修改和扩展这些我们创建的资源代码。

尝试我们的一些演示程序从它们复制代码到你的工程中。

现在你已经开始了,你将可能想需要更多的信息,例子如何创建你自己的线程,QNXNeutrino消息传递时如何工作,何种进程同步方法是可用的,如何访问一个I/O区域,如何组建一个QNXNeutrino资源管理器。

不要担心:

所有这个如果你经历的这个快速开始向导一样简单!

(译者:

前提大概是给钱才提供的吧,反正我是到处找资料都没有找到好多,几万美金啊!

学习这个真坑爹)

IDE包含许多教程来帮助你开始。

从IDE的工具条选择Help>Welcome,然后点击教程图标:

IDE的帮助系统包含QNX文档,随着关于这个Eclipse平台的信息。

在Help菜单,点击HelpContents:

这个QNXSoftwareDevelopmentPlatform路线图将帮助你找出你需要寻找信息的位置。

我们建议浏览WelcometotheQNXSoftwareDevelopmentPlatform、QNXNeutrinoRTOSSystemArchitecture向导、IDE用户向导和QNXNeutrinoRTOSProgrammer’s向导。

在自己的系统上浏览文档,只需点击屏幕右边上的图标栏上的Help按钮。

打印文档也是可用的。

你也可能对将帮助你快速创建消费级音频、视频和图像产品的中间件产品的QNXAviageportfolio感兴趣。

IDE包含源代码例子覆盖了线程创建、互斥体的使用、消息传递和其他进程间联系方法如同一个QNX资源管理器模板。

选择Help>Welcome,然后点击Samples图标:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2