3. WindView 安装与配置:Workbench 中 WindView 插件的安装、目标机代理配置
WindView 作为 VxWorks 系统级行为分析工具,其安装与配置的正确性直接决定了中断分析能否顺利开展。本节将分两部分展开:首先介绍如何在 Wind River Workbench 中安装 WindView 插件,然后详细说明目标机代理(Agent)的配置步骤与参数含义。
3.1 WindView 插件安装
WindView 以 Eclipse 插件形式集成在 Workbench 中。安装过程分为“检查预装状态”与“手动安装”两种场景。
3.1.1 检查预装状态
打开 Workbench,依次点击 Help → About Wind River Workbench → Installation Details。在 Installed Software 标签页中搜索 “WindView”。若列表中出现类似 Wind River WindView 3.0 的条目,则说明插件已预装,可直接跳过安装步骤。
3.1.2 手动安装步骤
- 获取安装包:从 Wind River 官方安装介质或更新站点获取 WindView 插件压缩包(通常为
WindView-*.zip)。 - 启动安装向导:选择 Help → Install New Software。
- 添加仓库:点击 Add 按钮,在 Archive 类型中选择下载的 ZIP 文件,并命名(如 “WindView Plugin”)。
- 选择组件:在列表中找到 Wind River WindView 或 WindView Host Tools,勾选后点击 Next。
- 确认许可:接受许可协议,点击 Finish 开始安装。
- 重启 Workbench:安装完成后提示重启,点击 Yes 使插件生效。
验证安装:重启后,在 Workbench 的 Window → Show View → Other 中展开 Wind River 分类,若出现 WindView Log 或 WindView Timeline 视图,则表明插件安装成功。
3.2 目标机代理配置
WindView 依赖目标机上的代理组件(windview 任务)来采集事件数据。代理配置分为“内核配置”与“运行时参数”两个层面。
3.2.1 内核配置(VxWorks Image 中启用 WindView)
在 VxWorks 工程中,通过 vxprj 或 Workbench 的 Kernel Configuration 界面启用以下组件:
| 配置项 | 符号名 | 说明 |
|---|---|---|
| WindView 核心库 | INCLUDE_WINDVIEW |
必须包含,提供事件记录与缓冲机制 |
| WindView 代理任务 | INCLUDE_WINDVIEW_AGENT |
启动后台代理任务,负责与主机通信 |
| 中断事件支持 | INCLUDE_WINDVIEW_INT |
使能中断进入/退出事件的记录 |
| 任务切换事件 | INCLUDE_WINDVIEW_TASK |
记录任务上下文切换事件 |
配置示例:在 Workbench 的 Kernel Configuration 视图中,搜索 “windview”,将上述四个组件全部勾选为 Include。重新编译 VxWorks 镜像并下载到目标机。
3.2.2 运行时代理参数
目标机启动后,WindView 代理任务 windview 自动运行。可通过以下方式调整其行为:
- 缓冲区大小:默认 64 KB,通过
windviewBufSize全局变量修改(单位:字节)。 - 事件过滤级别:通过
windviewFilter设置掩码,例如0x0001仅记录中断事件。 - 触发模式:支持 连续记录(覆盖旧事件)与 单次触发(满缓冲区后停止)。
/* 在目标机 shell 中动态配置示例 */
windviewBufSize = 256 * 1024; /* 设置缓冲区为 256 KB */
windviewFilter = 0x0003; /* 记录中断 + 任务切换事件 */
windviewMode = 1; /* 1 = 单次触发模式 */
3.3 主机-目标机连接验证
完成插件安装与代理配置后,需验证主机能否成功连接目标机并启动 WindView 采集。
- 启动 WindView 视图:在 Workbench 中打开 WindView Timeline 视图。
- 配置连接:点击视图工具栏的 Connect 按钮,选择目标机对应的 Target Server(需提前通过
tgtsvr或 Workbench 的 Target Manager 建立连接)。 - 开始采集:点击 Start Logging,观察状态栏是否显示 “WindView: Logging started”。
- 触发事件:在目标机上运行一个产生中断的测试程序(如
intTest),然后点击 Stop Logging。 - 检查数据:若 Timeline 视图中出现彩色事件条带,则说明安装与配置全部成功。
常见问题:若连接失败,请检查目标机网络可达性、Target Server 端口(默认 1534)是否开放,以及 VxWorks 镜像中是否确实包含了
INCLUDE_WINDVIEW 组件。可在目标机 shell 中执行 i 命令查看 windview 任务是否在运行。
3.4 WindView 组件架构图
下图展示了 WindView 在主机与目标机之间的组件关系与数据流向:
3.5 配置清单速查表
以下表格汇总了安装与配置过程中需要确认的关键项,可作为调试前的快速检查清单:
| 检查项 | 验证方法 | 常见问题 |
|---|---|---|
| WindView 插件已安装 | Workbench → Help → About → Installation Details | 未出现 WindView 条目 → 重新安装 |
| 内核包含 WindView 组件 | vxprj 或 Kernel Configuration 中搜索 windview | 缺少 INCLUDE_WINDVIEW → 添加后重编译 |
| 目标机代理任务运行 | 目标机 shell 执行 i 查看任务列表 |
无 windview 任务 → 检查内核配置 |
| 主机-目标机连接正常 | Workbench Target Manager 中状态显示 Connected | 连接失败 → 检查网络与 Target Server 配置 |
| WindView 能启动采集 | Timeline 视图点击 Start Logging 无报错 | 报错 “No agent response” → 检查代理配置 |
最佳实践:建议在开发初期就将 WindView 相关组件加入 VxWorks 镜像的默认配置中,避免后期调试时因缺少组件而反复重建镜像。同时,将缓冲区大小设置为 128 KB 以上,以捕获足够长的中断序列。