第二章:开发环境搭建

好,咱们正式开始动手。这一章我带你把开发环境搭起来。说实话,很多初学者卡在这一步就放弃了——不是装不上,就是连不上。别急,我踩过的坑,你就不用再踩了。

2.1 QNX Momentics IDE 安装

QNX Momentics IDE,说白了就是一套基于 Eclipse 的集成开发环境。QNX 官方把它打包好了,你直接装就行。

安装步骤:

  1. 获取安装包:去 QNX 官网下载 Momentics IDE 安装包。我记得早期版本还需要单独申请 License,现在方便多了,直接下载即可。
  2. 运行安装程序:双击运行,一路 Next。我个人习惯把安装路径改短一点,比如 C:\qnx,避免后面路径太长出问题。
  3. 选择组件:这里要注意,默认会勾选很多组件。如果你只是做应用开发,选「Host Development」和「Target Support」就够了。别全选,不然安装时间长得让你怀疑人生。
  4. 配置 License:安装完成后,启动 IDE,它会提示你配置 License。把官方给你的 License 文件导入即可。我曾经遇到过 License 文件路径带中文导致无法识别的情况,嗯,路径里别用中文。
小提示:安装完成后,建议重启一次电脑。别问我为什么,Windows 有时候就是这么玄学。

2.2 QNX SDK 配置

IDE 装好了,但还缺一样东西——SDK。没有 SDK,你连编译都跑不起来。

SDK 配置流程:

  • 下载 SDK:根据你的目标平台(比如 ARM、x86)下载对应的 SDK 包。我一般会下载最新稳定版,而不是尝鲜版。
  • 安装 SDK:SDK 安装包通常是一个可执行文件,双击安装。它会自动把头文件、库文件、工具链放到指定目录。
  • 在 IDE 中配置 SDK:打开 Momentics IDE,进入 Window → Preferences → QNX → QNX SDKs,点击「Add」,选择你刚才安装的 SDK 路径。
重点:配置完成后,记得检查一下 SDK 版本是否与你的目标机系统版本匹配。版本不匹配,编译出来的程序可能跑不起来。

我个人习惯在配置完成后,先写一个简单的 Hello World 程序,编译一下,看看能不能通过。这一步能帮你快速发现环境问题。

2.3 目标机与宿主机连接设置

环境搭好了,代码也能编译了。但怎么把程序跑在目标机上?这就涉及到目标机与宿主机的连接设置。

连接方式:

连接方式 适用场景 注意事项
以太网 开发板、工控机 需要配置 IP 地址,确保网络互通
串口 调试早期启动阶段 波特率要一致,我常用 115200
USB 部分开发板支持 需要安装驱动,否则识别不了

以太网连接配置步骤:

  1. 设置目标机 IP:在目标机上执行 ifconfig 查看当前 IP,或者用 ifconfig en0 192.168.1.100 手动设置。我建议用静态 IP,避免 DHCP 分配变化导致连接中断。
  2. 设置宿主机 IP:确保宿主机与目标机在同一个网段。比如目标机是 192.168.1.100,宿主机就设成 192.168.1.101
  3. 测试连通性:在宿主机上 ping 192.168.1.100,能通就说明网络没问题。
  4. 配置 QNX 连接:在 Momentics IDE 中,进入 Window → Target Navigator,右键选择「New QNX Target」,输入目标机的 IP 地址和用户名(默认是 root,密码为空)。
警告:我曾经遇到过目标机防火墙阻挡连接的情况。如果你发现能 ping 通但 IDE 连不上,检查一下目标机上有没有开启防火墙,关掉它再试。

串口连接配置步骤:

  • 宿主机上安装串口终端工具,比如 PuTTY 或 SecureCRT。
  • 设置串口参数:波特率 115200,数据位 8,停止位 1,无校验。
  • 连接目标机,看到 QNX 启动日志就说明成功了。

说实话,串口连接虽然慢,但在调试底层驱动时是必不可少的。我至今还保留着一根 USB 转串口线,关键时刻能救命。

2.4 验证环境是否搭建成功

所有配置都做完了,怎么确认环境没问题?我一般会做三件事:

  1. 编译一个示例程序:在 IDE 中新建一个 QNX C 项目,写一个简单的 printf("Hello QNX\n");,编译通过。
  2. 上传到目标机:右键项目,选择「Run As → QNX Application」,IDE 会自动把可执行文件上传到目标机并运行。
  3. 查看输出:在 IDE 的控制台窗口看到「Hello QNX」打印出来,恭喜你,环境搭建成功了!
小技巧:如果上传失败,检查一下目标机的磁盘空间。我曾经遇到过目标机 /tmp 目录满了,导致文件传不上去。用 df -h 查看一下,清理掉没用的日志文件就好了。

好了,环境搭建就到这里。下一章我们开始写真正的 QNX 程序,到时候你会用上今天配置好的所有工具。