成功在BeagleBoard上运行QNX系统后,尝试在BealgeBoard上跑一个Hello World程序吧。
测试发现整个程序编写过程和虚拟机上的第一个QNX程序类似,只是选择目标系统的时候要选择ARM,而不是X86。所以以下过程有些简略,如果有不清楚地地方请参考之前的文章《第一个QNX程序》
先准备好环境:
启动QNX Momentics
在BeagleBoard的SD插槽上插入之前做好的QNX SD启动卡。
连接PC和BeagleBoard的串口线
在BeagleBoard上插好网线
在QNX Momentics上启动Terminal窗口,监控BeagleBoard的启动过程。
然后给BeagleBoard上电启动。
如果按之前的方法做好了SD启动卡的话,BeagleBoard 上电后会启用网络接口。
在QNX Momentics的Terminal窗口上运行ifconfig可以看到网络接口的情况,下面是我这边的显示:
ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33192
inet 127.0.0.1 netmask 0xff000000
en0: flags=80008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,SHIM> mtu 1500
address: 02:80:0f:11:72:02
media: Ethernet 100baseTX full-duplex
status: active
inet 192.168.0.105 netmask 0xffffff00 broadcast 192.168.0.255
#
就是说我的BeagleBoard获取的网络地址是:192.168.0.105
然后在QNX Momentics上通过“Window->Show View -> Target Navigator”菜单显示Target Navigator窗口。
点击“New QNX Target”创建一个“Target”,配置窗口如下,在Ip地址一栏输入BeagleBoard的网络地址就好了。
环境准备好了,开始创建项目:
选择“File -> New -> QNX C Project”
填写项目名称:
选择目标系统,注意要选择ARM v7
创建的项目如下,稍微修改一下printf()输出的内容,一会运行成功的时候才有点成就感,:-)
然后对项目点右键,选择“Build Project”,这么简单的项目一般不会有问题的,编译有问题看看problem窗口说什么,对应调整一下。
编译成功后对项目点击右键,选择“Run as -> Run Configuration”,在运行配置窗口点击“New”按钮新建一个配置,运行项目选择你刚创建的项目,然后点击“Search Project”选择项目中g结尾的文件。
在目标系统选择框中选择你刚才创建的“Target”,点击“run”运行程序;
下面就是运行结果了,虽然只是在QNX Momentics的Console窗口上显示了一行字符串,这可是在BeagleBoard上运行的呀。
当然,看着BeagleBoard在显示屏上无动于衷地显示着它自己的主界面,有些不甘,没事,后面再想办法在BeagleBoard的显示屏上显示一点东西。