第一个BeagleBoard上的QNX程序


成功在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的显示屏上显示一点东西。

相关内容