第二章 开发环境搭建:QSC安装、IDE配置与目标机环境
说实话,搭建开发环境这件事,看着简单,但坑是真不少。我见过太多新手卡在这一步,折腾一整天连个Hello World都跑不起来。今天我就把这几年的经验掰开揉碎,带你一步步搞定QNX的开发环境。
2.1 QNX Software Center (QSC) 安装与配置
QSC是QNX的软件管理工具,说白了就是你的“软件商店”。所有开发工具、BSP包、文档,都得通过它来下载。
2.1.1 获取安装包
你需要先注册一个QNX开发者账号。去QNX官网申请,一般24小时内会收到邮件。我个人习惯用公司邮箱注册,通过率更高。
2.1.2 安装步骤
- 下载QSC安装包(大约200MB)
- 双击运行,选择安装路径。我建议不要用默认路径,C盘空间容易爆
- 安装完成后,启动QSC,输入账号密码登录
- 在Repositories选项卡中,勾选你需要的组件
这里有个小技巧:先勾选QNX Software Development Platform (SDP) 7.0,这是核心开发包。其他的像文档、示例代码,可以后面再补。
2.1.3 配置代理
如果你在公司内网,大概率需要配代理。在QSC的Preferences里找到Network Connections,填上代理地址和端口。嗯,这里要注意:有些代理需要认证,记得勾选“Requires Authentication”。
2.2 QNX Momentics IDE 安装
Momentics IDE是基于Eclipse的集成开发环境。说白了,就是给你写代码、编译、调试用的图形化工具。
2.2.1 通过QSC安装
在QSC里搜索“Momentics”,找到QNX Momentics IDE组件,点击安装。这个过程大概需要10-15分钟,取决于你的网速。
我记得第一次安装时,进度条卡在80%不动了。别慌,这不是死机,是后台在下载GCC交叉编译工具链。喝杯咖啡等一等就好。
2.2.2 手动安装(备选方案)
如果QSC下载太慢,可以试试手动安装:
# 下载离线安装包
wget http://download.qnx.com/.../momentics-7.0-linux.run
# 赋予执行权限
chmod +x momentics-7.0-linux.run
# 运行安装
./momentics-7.0-linux.run
2.2.3 首次启动配置
启动Momentics IDE后,会提示你选择工作空间(Workspace)。我建议单独建一个目录,比如~/qnx_workspace,别跟其他项目混在一起。
然后配置QNX SDK路径:
- 点击 Window → Preferences
- 选择 QNX → QNX SDK Locations
- 添加你的SDP安装路径,比如
C:\QNX700
配置好后,IDE会自动识别QCC编译器。你可以在Project Explorer里右键新建一个QNX C Project,试试能不能编译通过。
2.3 虚拟机与目标机环境搭建
开发QNX程序,你总得有个地方跑代码吧?要么用虚拟机模拟,要么用真实硬件。我两种都常用,看项目阶段。
2.3.1 虚拟机方案(QNX VM)
QNX官方提供了虚拟机镜像,可以直接在VMware或VirtualBox上跑。我个人推荐VMware Workstation,兼容性更好。
搭建步骤:
- 从QSC下载QNX SDP 7.0 Virtual Machine Image
- 解压后得到一个.vmx文件
- 用VMware打开这个文件,启动虚拟机
启动后你会看到一个命令行界面。默认用户名是root,密码为空。嗯,第一次登录记得改密码。
2.3.2 目标机方案(真实硬件)
真实硬件调试才是王道。我常用的目标机是Raspberry Pi 4和TI的AM57x开发板。
以RPi4为例,你需要:
- 从QSC下载RPi4的BSP包
- 用QNX的
mkifs工具制作启动镜像 - 将镜像写入SD卡
制作启动镜像的命令:
# 进入BSP目录
cd ~/qnx_workspace/bsp-raspberrypi4
# 构建IFS(Initial Program Loader)
make
# 生成的镜像在 output/ifs-raspberrypi4.bin
然后用dd命令写入SD卡:
sudo dd if=output/ifs-raspberrypi4.bin of=/dev/sdb bs=1M
lsblk先确认三遍。
2.3.3 网络连接与调试
不管是虚拟机还是目标机,你都需要通过网络连接IDE进行调试。
配置步骤:
- 在目标机上启动QNX,用
ifconfig查看IP地址 - 在IDE中创建QNX Target:Window → Show View → QNX System Information
- 右键添加新目标,填上IP地址和端口(默认8000)
连接成功后,你可以在IDE里直接上传程序、启动调试。说实话,第一次看到远程调试跑起来的时候,还是挺有成就感的。
2.4 环境验证
环境搭好了,怎么知道对不对?写个Hello World试试:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
printf("Hello QNX!\n");
return EXIT_SUCCESS;
}
在IDE里编译,然后上传到目标机运行。如果看到输出,恭喜你,环境搭建成功了!
- 编译报错“QCC not found” → 检查SDK路径配置
- 连接目标机超时 → 检查防火墙,关闭Windows防火墙试试
- 程序上传失败 → 确认目标机上的qconn服务是否在运行
好了,环境搭建就到这里。下一章我们开始写第一个真正的QNX程序,到时候会用到今天搭好的环境。有什么问题,欢迎在评论区交流。