3、开发环境搭建:QNX SDP安装、QNX Momentics IDE配置、目标机与宿主机连接、QNX虚拟机创建
好,咱们正式开始动手了。这一章我带你搭环境。
说实话,做嵌入式开发,环境搭不好,后面全是坑。我见过太多人卡在第一步,连个Hello World都跑不起来,就开始怀疑人生。别急,跟着我的节奏来,一步步走稳。
3.1 QNX SDP安装——别选错版本
QNX Software Development Platform,简称SDP。这是整个开发的基础。
我个人习惯,先确认目标平台的架构。你是跑在x86的工控机上?还是ARM的板子上?这个决定了你下载哪个版本的SDP。
关键点:QNX SDP 7.0 和 7.1 是目前主流版本。7.1对虚拟化支持更好,我建议直接用7.1。
安装步骤其实不复杂:
- 去QNX官网下载SDP安装包(需要注册账号,这个没办法)
- 运行安装程序,选择安装路径——路径不要有中文,不要有空格
- 选择你要支持的架构(x86_64、aarch64等)
- 等待安装完成,大概10-15分钟
注意:我曾经遇到过一个坑——安装路径选了默认的Program Files (x86),结果后面编译时各种路径解析错误。后来我统一改成 C:\qnx710,再也没出过问题。
安装完成后,检查一下环境变量。打开终端,输入:
source /opt/qnx710/qnxsdp-env.sh
然后看看能不能找到qcc编译器:
which qcc
如果返回了路径,恭喜你,第一步走通了。
3.2 QNX Momentics IDE配置——别被花哨界面迷惑
Momentics IDE,说白了就是Eclipse套了个QNX的壳。底层还是CDT那套东西。
你想想看,IDE这东西,用熟了就是利器,用不熟就是累赘。我建议你花半小时把常用快捷键记住,后面能省大量时间。
配置步骤:
- 启动Momentics IDE,首次启动会让你选工作空间(workspace)
- 工作空间路径同样不要有中文
- 进入后,点击 Window → Preferences → QNX → QNX Build
- 确认QNX SDP的路径是否正确指向你安装的位置
小技巧:我个人习惯把工作空间放在SSD上,编译速度快很多。机械硬盘编译一个大项目,那等待时间够你喝三杯咖啡。
然后配置Target Navigator:
- 打开 QNX Target Navigator 视图
- 右键 → New QNX Target
- 输入目标机的IP地址(后面会讲怎么连接)
- 选择连接方式:默认是qconn(QNX的连接守护进程)
嗯,这里要注意。qconn默认端口是8000。如果你的网络环境有防火墙,记得放行这个端口。
3.3 目标机与宿主机连接——最容易被忽视的一步
环境搭好了,IDE配好了,怎么把程序跑起来?
你需要让宿主机(你的电脑)和目标机(开发板或虚拟机)能通信。
我常用的方式有两种:
| 连接方式 | 适用场景 | 注意事项 |
|---|---|---|
| 以太网直连 | 开发板、工控机 | 需要静态IP,避免DHCP变化 |
| 串口连接 | 早期调试、无网络环境 | 速度慢,但稳定可靠 |
| USB网络共享 | 部分开发板支持 | 驱动安装可能麻烦 |
我个人最推荐以太网直连。原因很简单——快,而且稳定。
具体操作:
- 在目标机上启动qconn服务:
qconn & - 在宿主机上ping目标机IP,确认网络通
- 在Momentics IDE中,右键目标机 → Connect
避坑指南:我曾经在客户现场折腾了一下午,就是连不上。最后发现是目标机的防火墙把8000端口封了。你想想看,多冤。所以第一步先检查端口通不通:telnet 目标机IP 8000
连接成功后,你会在Target Navigator里看到目标机的状态变成绿色。这时候你就可以远程调试了。
3.4 QNX虚拟机创建——没有硬件也能玩
不是每个人都有开发板。没关系,QNX官方提供了虚拟机镜像。
我刚开始学QNX虚拟化时,就是靠虚拟机练手的。说实话,虚拟机和真实硬件在开发阶段差别不大,足够你跑通大部分实验。
创建步骤:
- 下载QNX虚拟机镜像(.qcow2或.vmdk格式)
- 用VirtualBox或VMware创建新虚拟机
- 分配资源:建议至少2核CPU、2GB内存
- 启动虚拟机,登录默认账号(通常是root,无密码)
小技巧:我个人习惯给虚拟机配两个网卡。一个NAT模式用来上网,一个桥接模式用来和宿主机通信。这样既不影响你查资料,又能正常调试。
启动后,确认一下网络配置:
ifconfig
ping 宿主机IP
如果能ping通,说明网络没问题。然后启动qconn:
qconn &
回到宿主机,在Momentics IDE里添加这个虚拟机为目标机。输入虚拟机的IP地址,连接。搞定。
注意:虚拟机里的QNX默认可能没有开启SSH服务。如果你需要远程登录,记得手动启动:sshd &。我第一次用虚拟机时,以为连不上是网络问题,折腾了半天才发现是SSH没开。
3.5 验证环境——跑个Hello World试试
环境搭好了,不跑个程序验证一下,心里不踏实。
在Momentics IDE里新建一个C项目:
- File → New → QNX C Project
- 选择目标架构(和你安装SDP时选的架构一致)
- 写一个简单的Hello World
- 编译,然后右键 → Run As → QNX C/C++ Application
如果一切顺利,你会在控制台看到熟悉的"Hello World"输出。
到这里,你的开发环境就彻底搭好了。后面所有的实验,都基于这个环境。所以这一步一定要走稳,别图快。
嗯,我记得第一次在QNX上跑通Hello World时,那种感觉就像打开了新世界的大门。希望你也能体会到。
下一章,我们开始真正进入虚拟化的世界。准备好了吗?