2. 配置VxWorks内核组件

任务说明

在VxWorks Workbench中,通过组件配置工具(Component Configuration)对VxWorks内核进行裁剪与定制:添加或移除内核组件,并基于修改后的配置生成新的内核映像(VxWorks)。本案例以添加telnetd组件、移除ftp组件为例,演示完整操作路径。

环境准备

  • VxWorks Workbench 3.x 或 4.x(含VxWorks 6.9/7.0 BSP)
  • 已创建VxWorks镜像工程(如 vxworks_image),并关联目标BSP
  • 目标机与开发机网络连通(用于后续下载验证)

操作步骤与关键代码

以下操作均在Workbench图形界面完成,核心配置结果保存在工程目录下的config.h与projectname.wpj文件中。

// ===== 1. 打开组件配置视图 =====
// 在Project Explorer中双击镜像工程下的 "Components" 节点
// 或右键工程 -> "Show Components" 打开组件浏览器

// ===== 2. 添加telnetd组件 =====
// 在组件搜索框输入 "telnetd"
// 找到 "telnetd" 组件(位于 Network Protocols -> Remote Login 下)
// 右键 -> "Include" (或双击组件图标使其变为实心/勾选状态)

// ===== 3. 移除ftp组件 =====
// 搜索 "ftp"
// 找到 "ftp server" 组件(位于 Network Protocols -> FTP 下)
// 右键 -> "Exclude" (或双击使其变为空心/未勾选状态)

// ===== 4. 检查依赖与冲突 =====
// 菜单栏 -> "Project" -> "Check Dependencies"
// 确认无红色错误提示(若有,按提示补充依赖组件)

// ===== 5. 生成新内核映像 =====
// 右键工程 -> "Build" (或点击工具栏锤子图标)
// 等待编译完成,控制台输出 "Build Finished" 无错误

// ===== 6. 验证生成文件 =====
// 在工程目录 default/ 下检查生成的 vxWorks 文件
// 文件时间戳应为当前构建时间,大小随组件增减而变化

验证方法

将生成的vxWorks映像下载到目标机(通过FTP或串口引导),在目标机Shell中执行以下命令确认组件状态:

// 在目标机VxWorks Shell中执行
-> telnetdStart
// 预期输出: 无错误返回,任务成功启动

-> ftpd
// 预期输出: 错误信息 "undefined symbol" 或 "unknown command"
// 说明ftp组件已被移除

-> version
// 确认VxWorks版本与构建日期匹配本次构建

通过条件:telnetd能够正常启动并接受远程连接;ftp命令不可用;内核启动无异常报错。

常见问题

  • 组件依赖缺失:添加telnetd时若提示需要INCLUDE_POSIX_PIPE等依赖,在组件树中搜索并一并Include。
  • 构建失败:检查是否误删了BSP必需组件(如INCLUDE_MMU),可通过"Project -> Restore Defaults"恢复后重新配置。
  • 配置未生效:确认修改后执行了完整Build(非增量),必要时先"Clean"再"Build"。
VxWorks内核组件配置流程 组件浏览器 ▶ Network Protocols ▶ Remote Login ☑ telnetd 已添加 ▶ FTP ☐ ftp server 已移除 ▶ Kernel Core ▶ Device Drivers ▶ File Systems Include Exclude 构建与验证流程 1 Check Dependencies Project → Check Dependencies,确认无红色错误 2 Build Image 右键工程 → Build,生成新 vxWorks 映像 3 Download to Target 通过FTP/串口将 vxWorks 下载至目标机 4 Verify Components Shell中执行 telnetdStart / ftpd 验证 ✅ telnetd可用 | ❌ ftp不可用 | ✅ 内核正常启动